题目:用1,2,3···9组成3个三位数abc,def, ghi,每个数字恰好使用一次,要求abc:def:ghi= 1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。
代码(C++):
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<math.h>
using namespace std;
int main() {
vector<char> P(9);
vector<char>::iterator b, e;
b = P.begin();
e = P.end();
for (int i = 0; i < 9; i++) P[i]= i + 1;
do {
double abc, def, ghi;
abc = P[0] * 100 + P[1] * 10 + P[2];
def = P[3] * 100 + P[4] * 10 + P[5];
ghi = P[6] * 100 + P[7] * 10 + P[8];
if (fabs(def / abc - 2.0) < 0.0001 && fabs(ghi / abc - 3.0) < 0.0001) printf("%lg %lg %lg\n", abc, def, ghi);
} while (next_permutation(b, e));
return 0;
}