题目大意:给定一个十进制的01串,使得他对10^x取模后结果等于10^y.
思路直接枚举后x位数字,当前仅当倒数第y+1个位置数字为1,其余位置为0时等式成立,从后往前依次遍历即可。
1 #include<iostream> 2 #include<algorithm> 3 #include<cstring> 4 #include<cstdio> 5 #include<queue> 6 #include<vector> 7 #include<cmath> 8 #include<map> 9 #include<set> 10 using namespace std; 11 typedef long long LL; 12 const int maxn = 1e5+10; 13 LL n,x,y; 14 string str; 15 int main() 16 { 17 while(cin>>n>>x>>y){ 18 int ans = 0,tmp=0; 19 cin>>str; 20 reverse(str.begin(),str.end()); 21 for(int i=0;i<x;i++){ 22 if(i==y&&str[i]!='1')ans++; 23 else if(i!=y&&str[i]=='1')ans++; 24 } 25 cout<<ans<<endl; 26 } 27 return 0; 28 }