• XidianOJ 1076 小W喜欢的数字


    题目描述

    大家都知道,小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[100]; 
    int order[10];
    long long res = 0;
    int main(){
        order[1] = 1; order[3] = 2; order[5] = 3;
        while (scanf("%s",num) != EOF){
            res = 0;
            int len = strlen(num); int i;
            long long base = 1;
            for (i=len-1;i>=0;i--){
                int nownum = num[i] - '0';
                res += order[nownum] * base;
                base *= 3;
            }
            printf("%lld
    ",res);
        }
        return 0;
    } 
  • 相关阅读:
    性能测试之-响应时间
    性能测试之-分类
    CSS 的基础语法
    linux之-mysql数据库约束3
    linux之-mysql数据库2
    linux安装mysql
    反向树状数组
    曼哈顿最小生成树
    最小生成树的性质
    CSA Round 84 Growing Trees
  • 原文地址:https://www.cnblogs.com/ToTOrz/p/6144215.html
Copyright © 2020-2023  润新知