給定乙個非負整數,問能否重排它的全部數字,使得重排後的數能被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 分別對應乙個值。同時昨天看了乙...