C語言之完數 素數 回文數合集

2021-10-08 13:37:45 字數 1243 閱讀 3119

1、完全數(perfect number),又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。如果乙個數恰好等於它的因子之和,則稱該數為「完全數」。第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128、33550336等等。

#include

intmain()

if(sum == i)

}printf

("10000以下的完數有:");

for(i =

0;i<

4;i++

)}

2、素數又稱為質數, 質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。

#include

intmain()

//如果沒有因數就輸出

if(sum==0)

printf

("%d\t"

,a);

//因數個數重置

sum =0;

}return0;

}

3、「回文」是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如「我為人人,人人為我」等。在數學中也有這樣一類數字有這樣的特徵,成為回文數(palindrome number)。 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是回文數。

#include

//判斷回文數最重要的就是拆分數的每一位

//a%10求出最後一位數,a/10相當於捨去最後一位數;

intmain()

,x;int a;

//記錄位數

int d =0;

//記錄判斷次數

for(i=

121;i<

50000

;i++

)//判斷幾次相等

for(x=

0;x<

(a/2

);x++

)//如果收拾回文數就輸出不是就不輸出

// 例如11011:位數除以2就是2,就需要兩次判斷相等6位數就需要3此判斷相等

if(d==

(a/2))

printf

("%d\t"

,i);

}return0;

}

2928 素數回文數的個數,回文數系列簡單題

求11到n之間 包括n 既是素數又是回文數的整數有多少個。乙個大於11小於1000的整數n。11到n之間的素數回文數個數 只需要先將區間內的素數使用埃及篩法進行篩選,然後對於素數逐個判斷是否為回文數即可。回文數系列總結版看這裡。include include include include incl...

呦吼 是素數回文數

呦吼 是素數回文數 原題鏈結 由於題目給的資料並不大,採用先判斷素數或者先判斷回文數都可以,我採用的是先判斷是否為素數,在判斷是否為回文數的方法。判斷素數時採用for遍歷乙個乙個判斷是否可以被除1及本身以外除盡的方法。想要判斷回文數時我們可以發現題目中所給的n的範圍是兩位數和三位數 所以只需要分為兩...

1408 素數回文數的個數

求11到n之間 包括n 既是素數又是回文數的整數有多少個。乙個大於11小於1000的整數n。11到n之間的素數回文數個數。23 1回文數指左右對稱的數,如 292,333。include include include include include using namespace std bool...