当前位置: 代码迷 >> 综合 >> Codeforces 778B. Weird Rounding
  详细解决方案

Codeforces 778B. Weird Rounding

热度:21   发布时间:2024-01-10 18:43:46.0

题意:给你一个数,可以随意删除这个数的每一位,最少删几位是使剩下的数能被10的k次方整除。

思路:就是判断数中有几个0,如果数量大于等于k,就随便删除使数的后k位都为0;如果数量小于k,那就删len-1个数,只留一个0.

#include<bits/stdc++.h>
using namespace std;
char str[15];
int main()
{int k,sum,sum1;while(cin>>(str+1)>>k){sum=0;sum1=0;int len=strlen(str+1);if(len<k) cout<<len-1<<endl;else{for(int i=len;i>=1;i--){if(sum1==k) break;if(str[i]!='0')sum++;elsesum1++;}if(sum1!=k)cout<<len-1<<endl;else cout<<sum<<endl;}}return 0;
}