展开全部
以1000以内的完全数为例:
#include
using namespace std;
int main()
{
int x,i,sum;
x=1;
while(x<=1000) //x要从1到1000循环32313133353236313431303231363533e4b893e5b19e31333433623834。
{
sum=0; //每算一个新的x时,sum要清0
for(i=1;i
{
if(x%i==0) sum+=i; //如果i是x的因子,sum加上i
}
if(x==sum) //如果因子和等于本身
cout<
x++;
}
return 0;
}
扩展资料:
c++参考函数
double ceil(double x) 返回不小于x的最小整数
double floor(double x) 返回不大于x的最大整数
void srand(unsigned seed) 初始化随机数发生器
int rand() 产生一个随机数并返回这个数
double poly(double x,int n,double c[])从参数产生一个多项式
double modf(double value,double *iptr)将双精度数value分解成尾数和阶