【C语言】完数
題目:如果一個數恰好等于它的所有因子(包括 1 但不包括自身)之和,例如:6 的因子為 1,2,3,且 1+2+3=6,因此 6 是一個“完數”。 計算并輸出 1000 以內的所有“完數”之和。
????????具體要求如下:
????????①所有循環均用 for 循環。
????????②輸出要有文字說明,并同時輸出各“完數”。輸出形式為: 完數 1+完數 2+…=和值
思路:首先運用for循環,將該數的各個因子加起來,求出一個和sum_1,然后將sum_1與該數字進行比較,如果相等則該數是完數,再利用循環將各個因子輸出。如果不相等則不是完數。
代碼:
#include<stdio.h> int main() {int factor,x=2,sum_1,sum=0;do{for(factor=1,sum_1=0;factor<x;factor++)if(x%factor==0) sum_1=sum_1+factor; if(x==sum_1){printf("%d是完數,",x);printf("1");for(factor=2,sum_1=0;factor<x;factor++)if(x%factor==0) printf("+%d",factor);printf("=%d\n",x);sum=sum+x;}x++;}while(x<=1000);printf("1000以內所有完數之和為%d\n",sum);return 0; }運行結果:
?
總結
- 上一篇: vue旋转图片功能,旋转放大图片功能;v
- 下一篇: Nuc972使用NandFlash时,u