藍橋杯比賽 —— 算式900
阿新 • • 發佈:2018-12-10
問題描述:
(xxxx - xxxx)* xx = 900,其中的 x 代表0~9這10個數字,求這
三個數分別是多少?
原始碼:
#include <iostream> #include <cmath> using namespace std; bool t[10] = { true, true, true, true, true, true, true, true, true, true }; bool Mytry(int p) { if ( !t[p] ) return false; else t[p] = false; return true; } int main() { for (int i = 10; i <= 98; i++) { for (int j = 9876; j >= 1234; j--) { int k = j - 900/i; if (Mytry(i%10) && Mytry(i/10) && Mytry(j%10) && Mytry(j%100/10) && Mytry(j%1000/100) && Mytry(j/1000) && Mytry(k%10) && Mytry(k%100/10) && Mytry(k%1000/100) && Mytry(k/1000)) { if( (j-k)*i==900 ) printf("%d %d %d\n", j, k, i); } for (int s = 0; s <= 9; s++) t[s] = true; } } getchar(); return 0; }