A.Reachable Numbers(codeforce1157/A)

题意:给你一个方程,输入一个数。

step1:不断加1,直到有尾缀0;

step2:把尾缀0丢掉;

继续执行step1和step2,统计一共能产生多少个不同的数。

因为我们知道执行到个位数的时候会进入死循环,所以这里我们直接在记数的基础上加9,即把每个个位数加了一遍。

#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
    int n,i,sum;
    while(~scanf("%d",&n))
    {
        sum=0;
        if(n%10==0)
        {
            sum++;
            n++;
        }
        for(i=n;i>=10;)
        {
            if(i%10==0)
            {
                i/=10;
            }
            else
            {
                sum++;
                i++;
            }
        }
        sum+=9;
        printf("%d\n",sum);
    }
}
View Code
原文地址:https://www.cnblogs.com/DreamingBetter/p/11621658.html