习题6-3 使用函数输出指定范围内的完数 (20 分)
生活随笔
收集整理的這篇文章主要介紹了
习题6-3 使用函数输出指定范围内的完数 (20 分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本題要求實現一個計算整數因子和的簡單函數,并利用其實現另一個函數,輸出兩正整數m和n(0<m≤n≤10000)之間的所有完數。所謂完數就是該數恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。
函數接口定義:
int factorsum( int number ); void PrintPN( int m, int n );其中函數factorsum須返回int number的因子和;函數PrintPN要逐行輸出給定范圍[m, n]內每個完數的因子累加形式的分解式,每個完數占一行,格式為“完數 = 因子1 + 因子2 + … + 因子k”,其中完數和因子均按遞增順序給出。如果給定區間內沒有完數,則輸出一行“No perfect number”。
我的代碼:
int factorsum( int number ) {int sum = 0,n = number,i;for(i = 1;i<n;i++)//在此剔除因數iif(n%i == 0)sum +=i;return sum; } void PrintPN( int m, int n ) {int i,p = 0;//p作為是否有完數的標志for(i = m;i<=n;i++){if(i == factorsum(i)){int j = 2;printf("%d = 1",i);//完數一定有因數"1"for(j = 2;j<i;j++){if(i%j == 0)printf(" + %d",j);//輸出等式}printf("\n");//空行p = 1;}}if(p == 0)printf("No perfect number"); }總結
以上是生活随笔為你收集整理的习题6-3 使用函数输出指定范围内的完数 (20 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城与勇士如何开启副职业
- 下一篇: 《醉玲珑》凤卿尘夜天凌初夜片段 凤卿尘第