zoukankan      html  css  js  c++  java
  • 蓝桥杯之奇妙的数字

    问题描述:

    奇妙的数字

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

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

    暴力搜索,不过需要优化一下判断条件,找到不同的数字则标记数组对应的项(10个数对应10个位置)+1,判断最后是否每一项只为1,否则重置标记数组为0。

    #include <iostream>
    #include <cstring>
    #include <sstream>
    
    using namespace std;
    
    int a[10] = {0};
    
    bool Check1(char c[])
    {
        for(int i = 0;i<10;i++)
        {
            if(c[i] == '0')
                a[0]++;
            if(c[i] == '1')
                a[1]++;
            if(c[i] == '2')
                a[2]++;
            if(c[i] == '3')
                a[3]++;
            if(c[i] == '4')
                a[4]++;
            if(c[i] == '5')
                a[5]++;
            if(c[i] == '6')
                a[6]++;
            if(c[i] == '7')
                a[7]++;
            if(c[i] == '8')
                a[8]++;
            if(c[i] == '9')
                a[9]++;
        }
        for(int i = 0;i<10;i++)
        {
            if(a[i] != 1)
            {
                for(int i = 0;i<10;i++)
                    a[i] = 0;
                return false;
            }
    
        }
        return true;
    }
    
    bool Check(int k1,int k2)
    {
        stringstream s;
        s<<k1;
        stringstream ss;
        ss<<k2;
        string a = s.str();
        string b = ss.str();
        string c = a+b;
        if(c.length() != 10)
        return true;
        else
        {
            char d[10];
            strncpy(d,c.c_str(),c.length());
            if(Check1(d))
            return false;
            else
                return true;
        }
    }
    
    int main()
    {
        int i = 0;
        long long int k1,k2;
        bool test = true;
        while(test)
        {
            i++;
            k1 = i*i;
            k2 = k1*i;
            test = Check(k1,k2);
        }
        cout<<i;
        return 0;
    }
  • 相关阅读:
    d-ary heap实现一个快速的优先级队列(C#)
    分享一道自创面试题
    Hacknet 玩后感
    Unity摄像机围绕物体旋转两种实现方式
    Shuffle Bags让你的随机不那么随机
    松散的四叉树实战
    Lua学习笔记(六)
    Lua学习笔记(五)
    Lua学习笔记(四)
    Lua学习笔记(三)
  • 原文地址:https://www.cnblogs.com/NikkiNikita/p/9450763.html
Copyright © 2011-2022 走看看