c語言簡單題

2022-11-03 09:15:46 字數 628 閱讀 2350

1樓:匿名使用者

樓主你的**是知道結果的情況下來來輸出.3樓的窮舉法是對的,可是你有時間複雜度的限制,那麼只能用數學公式方法:

完全數可表示為2^(p-1)*(2^p-1)的形式,其中2^p-1是素數,而且p也是素數,但p是素數不能保證2^p-1是素數

前幾個素數是2、3、5、7……

當p=2時,2^2-1=3是質數,所以第一個完全數是3×2=6;

當p=3時,2^2-1=7是質數,所以第二個完全數是7×4=28;

當p=5時,2^5-1=31是質數,所以第三個完全數是31×16=496;

當p=7時,2^7-1=127是質數,所以下一個完全數是127×64=8128;

然後的你的程式還有一個問題,題目給輸入可能的不是一組數

如1 999999

30 8988

0 0是以0 0結束。你要把每組都讀入,每組都計算。然後再輸出。

2樓:姬戀弦

怎麼這麼眼熟...是不是hdu acm裡的某道題目啊...

建議你試試__int64,範圍大,

比如:__int64 n;

scanf("%i64d",&n);//輸入printf("%i64d",n);//輸出

求解圖示簡單C語言程式題,c語言簡單流程圖題目求解

因為int在32位抄c語言編譯系統中是4個位元組,而且儲存時是 低位在前 的。所以,x 0x100100 0x00100100儲存時的形式是00 01 10 00 p指向第一個位元組 首位的00h 經過 p a a 的ascii碼為0x41 後,變為41 01 10 00 經過p 2 後,p指向x的...

C語言的簡單題,求助大神c語言程式設計題求助大神

include struct s int main void if p null sp while head if max 0 如果max為0,說明沒找到重複出現子串 printf no output n return 0 那麼問題來來了,兩個重複源則子串允不允許有交集?比如 abcd abcd a...

簡單c語言程式填空題,C語言 選擇題填空題

含有因數5的個數 指的是能被五整除的數的個數m m 5 等價於 m除以5的商,不計餘數for k 0,i 5 i 1000 i 5 k,i的初值為0,5 i在小於或等於1000的情況下執行下面的語句,i每次加5 中內容為真的情況下執行下面一句話,k 1,m除以5 因為最終階乘的值中,分解為質數因子時...