要求编写一个数等于他的所有因素的和;机器显示编程可以的,但是运行起来没有任何结果;
#include <stdio.h>#include <stdlib.h>
#include <math.h>
void main()
{
int m,n,s,a,b;
s=0;
for(m=2;m<=100;m++)//对2-10000的数进行逐项计算
{
b=m;//讲m的值付给b,
n=sqrt(m);s=0;
for(a=2;a<=n;a++)//提取所有因素
{
if(m%a==0)//判断是否能被整除
{
m=m/a;
if(m>1)
{
s+=a;continue;//如果m>1,那么讲公因素相加并返回继续
}
if(m==1)
{
s=s+1;
}
}
}
if(s==b)//判断
printf("%d\t",b);
}
}