C语言——完数
題目內(nèi)容:
一個正整數(shù)的因子是所有可以整除它的正整數(shù)。而一個數(shù)如果恰好等于除它本身外的因子之和,這個數(shù)就稱為完數(shù)。例如6=1+2+3(6的因子是1,2,3)。
現(xiàn)在,你要寫一個程序,讀入兩個正整數(shù)n和m(1<=n<m<1000),輸出[n,m]范圍內(nèi)所有的完數(shù)。
提示:可以寫一個函數(shù)來判斷某個數(shù)是否是完數(shù)。
輸入格式:
兩個正整數(shù),以空格分隔。
輸出格式:
其間所有的完數(shù),以空格分隔,最后一個數(shù)字后面沒有空格。如果沒有,則輸出一行文字:
NIL
(輸出NIL三個大寫字母加回車)。
輸入樣例:
1 10
輸出樣例:
6
代碼如下: #include <Stdio.h>
void main()
{
??? int n,m,i,j,sum,cnt=1;?? //用cnt來控制空格輸出
??? printf("請輸入兩個整數(shù):");
??? scanf("%d%d",&n,&m);
??? for(i=n;i<m;i++){
??? ?for(j=1;j<i;j++){?? //判斷是否為完數(shù)
??? ??if(i%j==0){
??? ???sum+=j;
???}
??}
???if(i==sum){
????if(cnt!=1){
??????????? ?printf(" ");
??????????????????? }
???printf("%d",i);
???cnt++;
????????????????????? }?
?sum=0;
?}
?if(cnt==1){
?printf("NIL\r");?
?}
}
總結(jié)
- 上一篇: $.ajax注册表单
- 下一篇: 9月11日学习内容整理:正则表达式,re