説明タイトル:
入力
入力整数NUM、オドメーターに示す数値は、1 <NUM <1000及び4は、整数を含まなければなりません。
输出
输出一个整数,为该汽车实际行驶的公里数。例如,如果该里程表显示55,则实际走过的公里 数是40。
样例输入 Copy
106
样例输出 Copy
86
コード
# include<stdio.h>
int main()
{
int m,n,i,array[1000],sum=0;
scanf("%d",&m);
for(n=0; ;n++)
{
array[n]=m%10;
m/=10;
if(m==0)
{
break;
}
}
for(i=0;i<=n;i++)
{
if(array[i]>4)
{
array[i]-=1;
}
}
for(i=n;i>=0;i--)
{
sum=sum*9+array[i];
}
printf("%d",sum);
return 0;
}
注:9バイナリ変換の問題に10進数に変換することができ、この方法は、より多用途です。