欧美亚洲国产精品久久,亚洲国产成人久久综合,亚洲欧美国产另类,97人澡人人添人人爽欧美

大學生新聞網,大學生新聞發布平臺
大學生新聞網
大學生新聞大學生活校園文學大學生村官
社會實踐活動社會實踐經歷社會實踐報告社會實踐總結社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名專科排名學校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學生就業
英語學習計算機學習電氣工程機械工程經濟管理建筑設計財務會計
申請書證明書檢討書自薦信演講稿心得體會調查報告讀后感求職信推薦信其它范文

C語言求親密數

問題描述
如果整數A的全部因子(包括1,不包括A本身)之和等于B;且整數B的全部因子(包括1,不包括B本身)之和等于A,則將整數A和B稱為親密數。求3000以內的全部親密數。
問題分析
根據問題描述,該問題可以轉化為:給定整數A,判斷A是否有親密數。

為解決該問題,首先定義變量a,并為其賦初值為某個整數。則按照親密數定義,要判斷a中存放的整數是否有親密數,只要計算出該整數的全部因子的累加和,并將該累加和存放到另一個變量b中,此時b中存放的也是一個整數。再計算b中存放整數的全部因子的累加和,將該累加和存放到變量n中。

若n等于a則可判定變量a和b中所存放的整數是親密數。

算法設計
計算數A的各因子的算法:用A依次對i(i的范圍可以是1〜A-1、1〜(A/2-1)中之一) 進行模(“%”,在編程過程中一定注意求模符號兩邊參加運算的數據必須為整數)運算,若模運算結果等于0,則i為A的一個因子加;否則i就不是A的因子。將所求得的因子累到變量B。

接下來求變量B的因子:算法同上,將B的因子之和累加到變量n。根據親密數的定義判斷變量n是否等于變量A(if(n==a)),若相等,則A和B是一對親密數,反之則不是。

程序流程圖:




下面是完整的代碼:

#include<stdio.h>
int main()
{
    int a, i, b, n;
    printf("There are following friendly--numbers pair smaller than 3000:\n");
    for( a=1; a<3000; a++ )  /*窮舉3000以內的全部整數*/
    {
        for( b=0, i=1; i<=a/2; i++)  /*計算數a的各因子,各因子之和存放于b*/
            if(!(a%i))
                b+=i;
        for( n=0, i=1; i<=b/2; i++ )  /*計算b的各因子,各因子之和存于n*/
            if(!(b%i))
                n+=i;
        if(n==a && a<b)  /*使每對親密數只輸出一次*/
            printf("%4d--%4d    ", a, b);  /*若n=a,則a和b是一對親密數,輸出*/
    }
    
    return 0;
}
運行結果:

There are following friendly--numbers pair smaller than 3000:
220-- 284 1184--1210 2620--2924

知識點補充
對于這類多次將某些值存儲到一個變量中時,一定要注意變量賦初值的位置。
    作者:大學生新聞網    來源:大學生新聞網
    發布時間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語言求自守數
  • 自守數是指一個數的平方的尾數等于該數自身的自然數。
  • 03-11 關注:0
  • C語言求親密數
  • C語言求親密數
  • 如果整數A的全部因子(包括1,不包括A本身)之和等于B;且整數B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 關注:0
  • C語言求完數(完全數)
  • C語言求完數(完全數)
  • 如果一個數等于它的因子之和,則稱該數為“完數”(或“完全數”)。例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數”。
  • 03-11 關注:1
  • C語言輸出菱形(詳解版)
主站蜘蛛池模板: 新源县| 梅州市| 宜兰县| 景洪市| 苗栗市| 斗六市| 贵阳市| 和田县| 措美县| 田阳县| 贵溪市| 迭部县| 罗甸县| 建瓯市| 洮南市| 布尔津县| 丰顺县| 静宁县| 汉川市| 游戏| 鄢陵县| 郁南县| 合阳县| 云林县| 台北市| 建平县| 宁陵县| 白城市| 山东| 辛集市| 巴林左旗| 和顺县| 阿克陶县| 西盟| 沾益县| 安阳县| 江西省| 报价| 泸定县| 岱山县| 旅游|