题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4278
题意:粗心的人数数,他在数2--4,7--9时,给漏数了3和8.当然不管3和8出现在个位、十位、百位、、他都是会漏数的。比如299之后,他会直接数到400,而跳过了300.现在告诉你这个以他自己的数数方式数到的数,求他实际上数了多少个数。(嘎嘎,后面有点绕,不过题意很好懂,不懂的,点击链接看啊)。
Code:
#include<stdio.h>
int to[10] = {0,1,2,0,3,4,5,6,0,7};
__int64 n;
__int64 ans;
int main()
{
while(scanf("%I64d",&n)!=EOF && n!=0)
{
int t = 1;
ans = 0;
printf("%I64d: ",n);
while(n)
{
ans += to[n%10] * t;
n /= 10;
t *= 8;
}
printf("%I64d\n",ans);
}
return 0;
}