HDU4278-Faulty Odometer
http://acm.hdu.edu.cn/showproblem.php?pid=4278
竟然是八进制转十进制- -,网络赛第一题。
#include<stdio.h> #include<string.h> int base[58]; char num[8]; void init() { base['0']=0; base['1']=1; base['2']=2; base['4']=3; base['5']=4; base['6']=5; base['7']=6; base['9']=7; } int solve() { int n=strlen(num),power=1,ans=0,i; for(i=n-1;i>=0;i--) { ans+=base[num[i]]*power; power*=8; } return ans; } int main(void) { init(); while(scanf("%s",num)!=EOF) { if(num[0]=='0') break; printf("%s: %d\n",num,solve()); } return 0; }