偶数字记数

Description众所周知,我们常用的记数系统是由0-9这10个数字组成,但是我们的Wraith却因为一些不为人知的原因讨厌那些奇数,他经常在自己的记数过程中只使用0,2,4,6,8这几个数字,而不使用那些奇数字(1,3,5,7,9),所以在他的记数系统中应该是这样的:0,2,4,6,8...当然在与正常的记数系统进行转换时便会比较麻烦。现在我们得到了一个序列a[n],对于每个值a[i],现在我们需要知道在Wraith使用的记数系统中的第a[i]个数是多少,例如,a[n]={1,3,4};我们想得到的序列就是2,6,8; 很简单不是吗?但是我不想写...自然,这个任务就交给了你.... :-)
Input只有一组测试数据; 测试数据第1行为一个正整数N(N<=1000),代表序列的大小; 测试数据第2到第(N+1)行为已知的序列a[N];每行有且仅有一个正整数;
Output输出应该为N行; 每行为对应输入的结果;(结果在整型int范围内)

Sample Input

4
1
2
3
4

Sample Output

2
4
6
8



主要是化输入的十进制数为五进制就行了

#include<stdio.h>
int a[5]={0,2,4,6,8};
void main()
{
int m,n,i,b[50];
scanf("%d",&n);
while(n--)
{
i=0;
scanf("%d",&m);
if(m<=4)printf("%d\n",a[m]);
else
{
while(m)b[i++]=m%5,m/=5;
if(m)b[i++]=m;
i--;
while(i>=0)printf("%d",a[b[i--]]);
printf("\n");
}
}
}

posted @ 2013-07-18 23:29  失眠的娃儿  阅读(241)  评论(0编辑  收藏  举报