求4位吸血鬼數字問題

2021-07-16 13:25:46 字數 823 閱讀 5047

吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而對數字各包含乘積的一半數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,列如:

1260=21*60;

1827=21*87;

2187=27*81;

請寫出乙個程式,找出所有的4位吸血鬼數字。

我的解法是:

int n=1;

outer:

for(int z=1000;z<=9999;z++)

for(int k=0;k<4;k++)

for(int p=0;p<4;p++)

///4位數全排列的結果

int x=(temps[i]-'0')*10+(temps[j]-'0');

int y=(temps[k]-'0')*10+(temps[p]-'0');

if(z==x*y)}}

}}

}

這個是正向解法,還有一種逆向解法,更簡單些,別人的,看來很多事情逆向來想想,會獲得不一樣的效果:

//		string   ar_str1,ar_str2;    

// int sum=0;

// //雙重迴圈窮舉

// for(int i=10;i <100;i++)

// }

// }

// system.out.println("共找到"+sum+"組吸血鬼數");

吸血鬼數字

吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如,下列數字都是 吸血鬼 數字 1260 21 60 1827 21 87 2187 27 81 1994年柯利弗德 皮寇弗在us...

吸血鬼數字

吸血鬼數字指的是位數為偶數的數字,可以由一對數字相乘而得到,而這對數字則各包含乘積一般位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如下面的吸血鬼數字 1260 21 x 60 1827 21 x 87 2187 27 x 81 下面的演算法,是找出4位數的所...

吸血鬼數字

關於吸血鬼數 寫道若 合成數 v 有偶數個位n 且是 n 2 個位的正整數 x 和 y 的積,而且 x 和 y 不是同時以0為個位數,組成 x 和 y 的數字,剛好就是 v 的數字,那麼 v 就是 吸血鬼數 vampire number 而 x 和 y 則稱為 尖牙 例如1260是吸血鬼數,21和6...