是一个进制转换的奇妙问题,希望大家能够熟练掌握
上题!!
某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示339,汽车走过1公里之后,该里程表显示350。
核心思路就是 把这个问题看成是 不包含4的九进制
上答案!!
#include <stdio.h>
#include <string.h>
#define N 1001
int main ()
{
char ch1[N];
scanf("%s",ch1);
int i=0,D=0;
for(i; i < strlen(ch1); i++)
{
if((ch1[i]-48)>4)
{
ch1[i]-=1;
}
D = D*9 + (ch1[i]-48);
}
printf("%d\n",D);
return 0;
}
大家加油啊,与问题死磕!!
最后希望大家点个关注
这篇博客探讨了一个有趣的数学问题,涉及汽车里程表从3跳到5,跳过数字4的奇特现象。作者将此问题转化为不包含4的九进制转换,并提供了一个C语言的解决方案,通过读取输入字符串并进行相应计算,得出正确结果。这是一个结合了数学和编程思维的挑战,鼓励读者尝试解决。
439





