2012ブルーブリッジカップC++本科古堡算式
1004 ワード
ホームズはある古い砦を探検して、ドアに奇妙な計算式が書いてあるのを見た.
ABCDE * ? = EDCBA
彼は華生に対して言います:“ABCDEは異なる数字を代表するべきで、疑問符もある数字を代表します!”
華生:「そうだと思う!」
そこで、二人は長い間黙っていたが、適当な結果は出なかった.
コンピューターの利点を利用して、解読の答えを見つけてください.
ABCDEが表す数字を書き出します.
答え:21978
#include <iostream>
using namespace std;
int main()
{
long long a, b, c, d, e;
long long s, i, j;
for(i = 10000; i <= 99999; i++)
for(j = 1; j <= 9; j++)
{
s = i * j;
if(s > 100000)
continue;
a = i / 10000;
b = (i - a * 10000)/1000;
c = (i - a * 10000 - b * 1000)/100;
d = (i - a * 10000 - b * 1000 - c * 100)/10;
e = i - a * 10000 - b * 1000 - c * 100 - d * 10;
if(e * 10000 + d * 1000 + c * 100 + b * 10 + a == s && a != b && a != c && a != d && a != e && b != c && b != d && b != e
&& c != d && c != e && d != e)
cout << a << b << c << d << e << endl;
}
return 0;
}