第四屆 藍橋杯C/C++ 高職 1、題目標題: 猜年齡

/*1、題目標題: 猜年齡

美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。

一次,他參加某個重要會議,年輕的臉孔引人注目。於是有人詢問他的年齡,他回答說:

“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”

請你推算一下,他當時到底有多年輕。*/
#include<iostream.h>
#include<string>

int main()
{
    int x;
    int m[10],visite[10];//用於檢驗的數組
    memset(visite,0,10*sizeof(int));
    
    
    for(x=11;x<50;x++)
    {
        int s3=x*x*x;
        int k=s3;
        while(k)
        {
            
            m[k%10]=k%10;
            visite[k%10]++;
            k/=10;
        }
        int s4=s3*x;
        while(s4)
        {
            m[s4%10]=s4%10;
            visite[s4%10]++;
            s4/=10;
        }
        for(int i=0;i<10;i++)
        {
            if(visite[i]!=1)
                break;
        }
        if(i<10)//用於清零
                memset(visite,0,10*sizeof(int));
        else
        {
            cout<<x<<endl;
            break;
        }
    }
    
    
    return 0;
    
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章