大學(xué)生新聞網(wǎng),大學(xué)生新聞發(fā)布平臺(tái)
大學(xué)生新聞網(wǎng)
大學(xué)生新聞大學(xué)生活校園文學(xué)大學(xué)生村官
社會(huì)實(shí)踐活動(dòng)社會(huì)實(shí)踐經(jīng)歷社會(huì)實(shí)踐報(bào)告社會(huì)實(shí)踐總結(jié)社會(huì)實(shí)踐心得
全國排名校友會(huì)版軟科排名分類排名本科排名一本排名二本排名專科排名學(xué)校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學(xué)生就業(yè)
英語學(xué)習(xí)計(jì)算機(jī)學(xué)習(xí)電氣工程機(jī)械工程經(jīng)濟(jì)管理建筑設(shè)計(jì)財(cái)務(wù)會(huì)計(jì)
申請書證明書檢討書自薦信演講稿心得體會(huì)調(diào)查報(bào)告讀后感求職信推薦信其它范文

C語言求親密數(shù)

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

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

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

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

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

程序流程圖:




下面是完整的代碼:

#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以內(nèi)的全部整數(shù)*/
    {
        for( b=0, i=1; i<=a/2; i++)  /*計(jì)算數(shù)a的各因子,各因子之和存放于b*/
            if(!(a%i))
                b+=i;
        for( n=0, i=1; i<=b/2; i++ )  /*計(jì)算b的各因子,各因子之和存于n*/
            if(!(b%i))
                n+=i;
        if(n==a && a<b)  /*使每對(duì)親密數(shù)只輸出一次*/
            printf("%4d--%4d    ", a, b);  /*若n=a,則a和b是一對(duì)親密數(shù),輸出*/
    }
    
    return 0;
}
運(yùn)行結(jié)果:

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

知識(shí)點(diǎn)補(bǔ)充
對(duì)于這類多次將某些值存儲(chǔ)到一個(gè)變量中時(shí),一定要注意變量賦初值的位置。
    作者:大學(xué)生新聞網(wǎng)    來源:大學(xué)生新聞網(wǎng)
    發(fā)布時(shí)間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語言求自守?cái)?shù)
  • 自守?cái)?shù)是指一個(gè)數(shù)的平方的尾數(shù)等于該數(shù)自身的自然數(shù)。
  • 03-11 關(guān)注:0
  • C語言求親密數(shù)
  • C語言求親密數(shù)
  • 如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 關(guān)注:0
  • C語言求完數(shù)(完全數(shù))
  • C語言求完數(shù)(完全數(shù))
  • 如果一個(gè)數(shù)等于它的因子之和,則稱該數(shù)為“完數(shù)”(或“完全數(shù)”)。例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數(shù)”。
  • 03-11 關(guān)注:1
  • C語言輸出菱形(詳解版)
  • C語言楊輝三角(兩種方法)
  • 楊輝三角是我們從初中就知道的,現(xiàn)在,讓我們用C語言將它在計(jì)算機(jī)上顯示出來。
  • 03-10 關(guān)注:5
主站蜘蛛池模板: 日韩中文字幕电影在线观看| 521色香蕉网站在线观看| 一本到在线观看视频不卡| 55夜色66夜色| 永久域名在线观看视频| 女人是男人的未来1分29分| 国产91热爆ts人妖在线| 久久er99热精品一区二区| 超碰97人人做人人爱少妇| 污网站在线免费观看| 日本三级香港三级人妇99| 国内一级一级毛片a免费| 亚洲高清在线mv| 中文字幕无码av激情不卡| 美女扒开尿口给男人爽免费视频| 无码精品一区二区三区免费视频 | 免费a级毛视频| www.尤物视频| 波多野结衣办公室33分钟| 国内精品久久久久| 亚洲制服丝袜中文字幕| 国产三级a三级三级野外| 日韩乱码人妻无码中文字幕视频 | 国产尤物二区三区在线观看 | 欧美大片在线观看完整版| 国产精品久久国产精麻豆99网站| 亚洲一区爱区精品无码| 黄毛片一级毛片| 日本三级不卡视频| 再深点灬舒服灬太大了短文d| 久久精品国产导航| 69tang在线观看| 欧洲三级在线观看| 国产啪精品视频网站丝袜| 人人妻人人添人人爽日韩欧美| 中国一级特黄特级毛片| 色偷偷人人澡人人爽人人模| 成人a级高清视频在线观看| 国产三级在线观看免费| 五月婷婷丁香网| 0588影视手机免费看片|