887A. Div. 64#模特的數學技巧(字符串處理)
阿新 • • 發佈:2017-12-17
ios end span 字符串處理 刪除 force cin pac set
問題出處:http://codeforces.com/problemset/problem/887/A
問題大意:對於給出的一串二進制數,能否通過去掉一些數字,使之成為十進制下64的倍數
#include<iostream> #include<algorithm> using namespace std; //題目表述的刪除,而不是把1換成0 int main(){ string s; cin>>s; //不考慮第6位的高位數 //對string類 find函數的使用 int p = s.find(‘1‘); cout<< (p!=string::npos && count(s.begin()+p,s.end(),‘0‘) >= 6? "yes":"no"); //對#include<algorithm>count函數使用 return 0; }
二進制下,1000000前再加幾個1或者0都表示64的倍數,所以只要保證某個1後面能夠有6個“0”即可滿足條件
本題數字串長度超過100比如要用字符串記錄
本題使用了string類find函數、#include<algorithm>中的count函數
887A. Div. 64#模特的數學技巧(字符串處理)