语言)"/>
求m~n之间的所有完数(C语言)
【问题描述】
输入2 个正整数m 和n(m>=1,n>=1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number 的因子和。
例如,factorsum(12)的返回值是16(1 +2 +3 +4 +6)。
【输入输出样例1】
Input m: 1
Input n: 100
1 6 28 (输出格式控制符为:%5d)
【输入输出样例2】
Input m: 1
Input n: 500
1 6 28 496 (输出格式控制符为:%5d)
#include<stdio.h>
int factorsum(int number)
{int sum=0;if(number==1)return number ;for(int i=1;i<number;i++){if(number%i==0)sum+=i; }return sum ;
}
int main()
{int m,n;printf("Input m:");scanf("%d",&m) ;printf("Input n:");scanf("%d",&n) ;for(int i=m;i<=n;i++){if(i==factorsum(i))printf("%5d",i);}return 0;
}
更多推荐
求m~n之间的所有完数(C语言)
发布评论