吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而對數字各包含乘積的一半數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個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...