2012天津赛区网络赛第一题---Faulty Odometer(hdu4278)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4278

     题意:粗心的人数数,他在数2--4,7--9时,给漏数了3和8.当然不管3和8出现在个位、十位、百位、、他都是会漏数的。比如299之后,他会直接数到400,而跳过了300.现在告诉你这个以他自己的数数方式数到的数,求他实际上数了多少个数。(嘎嘎,后面有点绕,不过题意很好懂,不懂的,点击链接看啊)。

Code:

#include
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;
}


 

你可能感兴趣的:(ACM)