//完全数(c++编程)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
void wanquanshu(int x);
void main()
{
int c=0;int i=0;
char a[10];
fstream myfile;
myfile.open("c:\\1.txt",ios::out|ios::trunc);
cout<<"请输入一个3位以内的数,该程序将找出该数范围内的完全数"<<endl;
int x;
cin>>x;
myfile<<x<<endl;
myfile.close();
myfile.open("c:\\1.txt",ios::in);
char ch;
while(myfile.get(ch))
{
a[i++]=ch-48;
}
myfile.close();
c=a[0]*pow(10,i-2)+a[1]*pow(10,i-3)+a[2]*pow(10,i-4);
wanquanshu(x);
}
void wanquanshu(int x)
{
for(int i=1;i<x;i++)
{
int p=0;
for(int j=1;j<i;j++)
{
if(i%j==0)
{
p+=j;
if(p==i)
{
fstream myfile;
myfile.open("c:\\1.txt",ios::out|ios::app);
myfile<<p<<endl;
cout<<p<<endl;
}
}
}
}
cout<<"请到c目录下查看1.txt文件"<<endl;