链接:https://ac.nowcoder.com/acm/contest/893/B
来源:牛客网
题目描述
Bonnie得到了一个数字n。
现在她想对这个数字不断的做一种操作:
- 如果n的最后一位数码是0,那么她就把n除以10;
- 否则她把这个数加上1;
- 直到n变为一个不大于1的数。
给定n,请问Bonnie需要做多少次操作?
输入描述:
第一行一个数字T(1≤T≤300000)T(1≤T≤300000)--样例个数。 每个样例仅一行一个数字n(1≤n≤109)n(1≤n≤109)。
输出描述:
每个样例输出一行一个数字—Bonnie需要做的操作次数。
示例1
输入
复制
6 9 99 2 11032 1000000000 62
输出
复制
2 3 9 44 9 13
说明
第一个样例: 9→10→19→10→1 第二个样例: 99→100→10→199→100→10→1
模拟就行了
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn=300+5;
bool check(int x)
{
if(!(x%10)) return true;
return false;
}
int main()
{
int t;scanf("%d",&t);
while(t--)
{
int cnt=0;
int n;scanf("%d",&n);
while(n>1)
{
if(check(n)) n/=10;
else n++;cnt++;
}
cout<<cnt<<endl;
}
return 0;
}