• 征战蓝桥 —— 2015年第六届 —— C/C++A组第3题——奇妙的数字


    奇妙的数字

    小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
    你能猜出这个数字是多少吗?

    请填写该数字,不要填写任何多余的内容。

    代码

    #include <iostream>
    #include <string>
    #include <sstream>
    #include <set>
    
    using namespace std;
    
    void i2s(int num, string &str) {
        stringstream ss;
        ss << num;
        ss >> str;
    }
    
    bool check(string s) {
        set<char> ss;
        for (int i = 0; i < s.length(); ++i) {
            ss.insert(s[i]);
        }
        return s.size()==10&&ss.size()==10;
    }
    
    int main(int argc, const char *argv[]) {
        for (int i = 1; i < 100000; ++i) {
            string s1, s2;
            i2s(i * i, s1);
            i2s(i * i * i, s2);
            if (check(s1 + s2)) {
                cout << i << endl;
                break;
            }
        }
        return 0;
    }
    
  • 相关阅读:
    c++11之智能指针
    SurfaceFlinger与Surface概述
    android GUI 流程记录
    文章收藏
    android performance
    POJ3349
    java中的volatile和synchronized
    [原创]分期还款的名义利率与真实利率
    Java IO 流总结
    telegram
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338969.html
Copyright © 2020-2023  润新知