1. 程式人生 > >第四屆藍橋杯之排它平方數

第四屆藍橋杯之排它平方數

題目標題: 排它平方數     小明正看著 203879 這個數字發呆。     原來,203879 * 203879 = 41566646641     這有什麼神奇呢?仔細觀察,203879 是個6位數,並且它的每個數位上的數字都是不同的,並且它平方後的所有數位上都不出現組成它自身的數字。     具有這樣特點的6位數還有一個,請你找出它!     再歸納一下篩選要求:     1. 6位正整數     2. 每個數位上的數字不同     3. 其平方數的每個數位不含原數字的任何組成數位 答案是一個6位的正整數。 請通過瀏覽器提交答案。 注意:只提交另一6位數,題中已經給出的這個不要提交。 注意:不要書寫其它的內容(比如:說明性的文字)。
#include <iostream>
using namespace std;
int main()
{
    long long i;
    long long b;
    long long c;
    for(i=123456;i<987654;i++){
        int a[10]={0};
        b=i*i;
        c=i;
        while(c!=0){
        	if(a[c%10]!=0)
            break;
			else{
				a[c%10]=1;	
				c=c/10;
			}
        }
        
        while(b!=0){
            if(a[b%10]==1)
                break;
            else
                b=b/10;
    }
        if(c==0&&b==0)
            cout<<i<<endl;
    }
    return 0;
}