题目链接:点击打开链接
题目分析:昨天队里用的模拟方法= =,不过看board,有人一分中秒杀,后来才发现是poj 2719改编
特殊的八进制
代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
typedef long long __int64;
__int64 ans;
char data[20];
int main()
{
int i,len;
while(scanf("%s",data)&&data[0]!='0')
{
printf("%s: ",data);
len=strlen(data);
ans=0;
for(i=0;i<len;i++)
{
if(data[i]>='8') data[i]-=2;
else{
if(data[i]>='3') data[i]--;
}
}
for(i=0;i<len;i++)
ans=ans*8+data[i]-'0';
printf("%lld\n",ans);
}
return 0;
}