题目描述
大家都知道,小W是一名大帅哥,当然比起Light还是有点儿差距的!帅气的小W认为0-9这些数字,只有1,3,5是完美的。
欲问小W为什么,小W总是说“帅哥,是不需要解释的”.所以在帅哥小W的世界里,只有1,3,5这些数字或者是有1,3,5组合
而成的数字,比如13,35555等等。
那么现在问题来了,给你一个小W的世界里的数字,你能计算出它是第几小吗?
例如:1是第一小,3是第二小,(在小W的世界里是没有负数的,为什么呢?因为:帅哥,是不需要解释的)
输入
多组输入数据
对于每组数据,输入一个数,该数字的位数长度<35,且只包含1,3,5这三个数
输出
输出一行,求出该数字是小W世界里的第几小
--正文
类似10进制的读取,只不过变成特殊的3进制
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; char num[];
int order[];
long long res = ;
int main(){
order[] = ; order[] = ; order[] = ;
while (scanf("%s",num) != EOF){
res = ;
int len = strlen(num); int i;
long long base = ;
for (i=len-;i>=;i--){
int nownum = num[i] - '';
res += order[nownum] * base;
base *= ;
}
printf("%lld\n",res);
}
return ;
}