输入格式:
输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。
输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。
输入样例:
2 30
输出样例:
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
————————————————
#include<stdio.h>
int main()
{
int a,b,q,sum,flag;
flag=sum=a=b=0;
q=1;
scanf("%d %d",&a,&b);
for(a;a<=b;a++){
sum=0;
q=1;
while(q<=(a/2)){
if(a%q==0){
sum=sum+q;
}
if(sum==a&&q==(a/2)){
flag++;
printf("%d = 1",sum);
q=1;
while(q<=(a/2)){
q++;
if(a%q==0){
printf(" + %d",q);
}
}
printf("\n");
}
q++;
}
}
if(flag==0){
printf("None");
}
return 0;
}
————————————————
版权声明:本文为CSDN博主「zju 编程小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GZY1933505292/article/details/124084663