1. 程式人生 > >887A. Div. 64#模特的數學技巧(字符串處理)

887A. Div. 64#模特的數學技巧(字符串處理)

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#模特的數學技巧(字符串處理)