CSDN輕鬆周賽賽題 能否被8整除

2021-06-26 21:59:47 字數 931 閱讀 8277

給定乙個非負整數,問能否重排它的全部數字,使得重排後的數能被8整除。

輸入格式:

多組資料,每組資料是乙個非負整數。非負整數的位數不超過10000位。

輸出格式

每組資料輸出一行,yes或者no,表示能否重排它的全部數字得到能被8整除的數。注意: 重排可以讓0開頭。

輸入樣例  

610122

輸出樣例  

yesno

解釋  

第乙個數可以變為016 , 160

判斷乙個數n是否能被8整除

當n的位數是1位、2位或者3位時直接與8整除看餘數是否為0,

當n為三位數以上時,看該數的末尾(最後)三位數是否能被8整除,如果能則該數就能被8整除

這道題的位數是不超過10000位,那可以用乙個string來存放輸入的數,再把它放入乙個陣列中去,那我們就看0~9中的數字 出現了幾次,由於判斷的是3位數,所以這些數字出現的次數大於3時只需記錄3次即可,但如果裡面的數字0或者8出現了3次或3次以上,則不用進行下面的判斷,直接輸出yes

最好遍歷判斷即可

#include

#include

using namespace std;

int main()

for(unsigned int i = 0; i < str.length(); i ++)

if(a[8][1] == 3 || a[0][1] == 3)

int t = 0;

for(unsigned int i = 0; i < 10; i ++ )

}bool endl1 = true;

if(t == 1)

else if(t == 2)}}

}else}}

}}if(endl1)

cout << "no" << endl;

}return 0;}

CSDN 輕鬆周賽賽題 能否被8整除

能否被8整除 給定乙個非負整數,問能否重排它的全部數字,使得重排後的數能被8整除。輸入格式 多組資料,每組資料是乙個非負整數。非負整數的位數不超過10000位。輸出格式 每組資料輸出一行,yes或者no,表示能否重排它的全部數字得到能被8整除的數。注意 重排可以讓0開頭。參考 快速判斷乙個數能否被1...

輕鬆周賽賽題 能否被8整除

題幹 給定乙個非負整數,問能否重排它的全部數字,使得重排後的數能被8整除。輸入格式 多組資料,每組資料是乙個非負整數。非負整數的位數不超過10000位。輸出格式 每組資料輸出一行,yes或者no,表示能否重排它的全部數字得到能被8整除的數。注意 重排可以讓0開頭。分析 一看題目就發現確實很輕鬆。因為...

49周周賽I題

else if a這題本質上不難,但是乙個記憶化搜尋的典型例題,由於在某些情況下,會導致遞迴次數非常多,會爆棧。因此採用記憶化搜尋,記憶化搜尋就是用陣列儲存每一次遞迴時得到的資料,這樣下次遞迴需要這些資料時就不需要重複計算了。這題使用了三維陣列,使得每乙個 a,b,c 分別對應乙個值。同時昨天看了乙...