ネタ元 → 頭の体操
下の□にそれぞれ1~9の数字を入れて式を完成させなさい。
ただし、1つの数字につき1回の使用とする。
□ ÷ □ = □
×
□ - □ = □
∥
□ + □ = □
5分で解き書きました
#include <iostream>
#include <algorithm>
int main() {
const int N = 9;
int d[N] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
do {
// なんのヒネリもありましぇん
if ( d[1] * d[2] == d[0] &&
d[3] - d[4] == d[5] &&
d[6] + d[7] == d[8] &&
d[2] * d[5] == d[8] ) {
std::cout << d[0] << " / " << d[1] << " = " << d[2] << std::endl
<< d[3] << " - " << d[4] << " = " << d[5] << std::endl
<< d[6] << " + " << d[7] << " = " << d[8] << std::endl
<< std::endl;
}
} while ( std::next_permutation(d,d+N) );
}