1145: 有问题的里程表(2)

论坛 期权论坛 脚本     
匿名技术用户   2021-1-10 06:38   481   0

Description

某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示15339,汽车走过1公里之后,该里程表显示15350。

Input

输入一个整数num,表示里程表显示的数值,长度不超过9位,且一定不含整数4。

Output

输出一个整数,表示实际行驶的里程。

Sample Input

150

Sample Output

117

HINT

Source


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//就是个位数乘9的0次方+十位数乘9的1次方+
//百位数乘9的2次方+......
//当然每位数字大于4时需要减1
int main()
{
    int n,m,sum=0;
    int i;
    scanf("%d",&n);
    for(i=0;i<9;i++)
    {
        m=n%10;
        if(m>4)
            sum+=(m-1)*pow(9,i);
        else
            sum+=m*pow(9,i);
        n=n/10;
    }
    printf("%d",sum);
    return 0;

}


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP