小魚努力遊 一起學習C語言呀 1 完數

2021-10-18 07:37:13 字數 1340 閱讀 8940

hi!

這裡是小魚的第一次分享

我還是個新手,文章**現錯誤麻煩大家溫柔一點揪出來

歡迎你來我的世界裡玩呀

—————————————————————————

今天要解決完數問題

完數就是符合如下規則的數字

乙個數字的所有真因數之和等於這個數本身

如下例:

6 = 1 + 2 + 3

28 = 1 + 2 + 4 + 7 + 14

496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248

滿足這個規則的數字就是完數啦

—————————————————————————

是不是看起來還蠻簡單噠

這道題再考我們幾個問題:

1)找出乙個數的所有真因數

2)將這些真因數相加

3)判斷這個數是否是完數

—————————————————————————

根據我們之前分析的

我們首先要將它的所有真因數分離出來;

然後把這些分離出來的數字相加;

最後判斷該數字與真因數相加之和是否相等就可以啦

我的**如下

備註:為了可以擴大查詢數字的範圍,我設定了乙個輸入右邊界的語句(有想要更確切範圍的小夥伴們也可以在設立乙個左邊界哦~)

#include

inttest

(int i)

//製作乙個函式來測試某數字是否是完數

if(sum == i)

//判斷是否是完數

return1;

else

return0;

}int

main()

return0;

}

接下來再和大家展示一下我的結果

樣例輸入

樣例輸出

1000

6 28 496

在這段**裡我運用了許多小「心機」

1)我使用了函式來檢測乙個數字是否是完數

函式的優點呢就是方便以及節省空間

這樣可以讓**看起來更簡潔

2)我通過對函式的返回值的判斷來決定是否輸出

我在return語句的時候就對是否是完數進行了結果的預判

這種方法真的是好方便

—————————————————————————

好啦!到這裡我的分享就結束了

其實完數問題還有很多解法,我這只是在當下想出來的小辦法,以後如果有更好的方法也會分享給大家噠

希望可以對你們有幫助~

歡迎你下次再來我的小世界哦~

帶你一起學習C語言語法

帶你學c帶你飛 第一季講解內容 c語言語法,我們會講變數 陣列 函式 指標 結構 標準庫這樣一些純粹的c語言知識。基本上你大學第一學期學的就是咱第一季的內容,我知道很多朋友學完c語言一時感覺沒什麼用?然後大一學完大二就還給體育老師了 咳咳,畢竟現在是乙個連程式都要刷顏值的年代 使用c語言,確實不容易...

c語言一起學習之建立標頭檔案(二)

一 接上文建立標頭檔案方式,本專案講解引用自定義標頭檔案方式,以及static和extern限制方法的作用。接上文,建立專案,建立標頭檔案print.h。include include printbefore.h void printhello void include print.h void p...

一起學習C語言 初步進入程式設計世界 一

作者在windows系統開發程式時,比較常用的整合開發環境是visual studio系列,本系列文章作者最終選擇 visual studio2010 作為windows開發環境使用,參考 程式設計學習初期,不適合直接使用linux相關系統,linux相關系統與windows系統相比之下操作過於複雜...