日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

输出指定范围内的完数

發布時間:2025/3/12 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 输出指定范围内的完数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目要求

本題要求實現一個計算整數因子和的簡單函數,并利用其實現另一個函數,輸出兩正整數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”。

代碼

注意格式的處理

#include <stdio.h>int factorsum( int number ); void PrintPN( int m, int n ); int factorsum( int number ){int k=0;for(int i=1;i<number;++i){if(number%i==0) k+=i;} return k; } void PrintPN( int m, int n ){int s=0;for(int i=m;i<=n;++i){if(factorsum(i)==i){//完數 s++;//記錄完數個數 printf("%d = 1",i);//前幾個輸出,1一定是因數 for(int j=2;j<i;++j){if(i%j==0) printf(" + %d",j);//輸出后面的因數 }printf("\n");}}if(s==0) printf("No perfect number"); } int main() {int m, n;scanf("%d %d", &m, &n);if ( factorsum(m) == m ) printf("%d is a perfect number\n", m);if ( factorsum(n) == n ) printf("%d is a perfect number\n", n);PrintPN(m, n);return 0; }/* 你的代碼將被嵌在這里 */

總結

以上是生活随笔為你收集整理的输出指定范围内的完数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。