将1到9这九个数字分成3个三位数a,b,c,每个数字恰好出现一次,要求a:b:c=1:2:3。要求按照"a b c"的格式输出所有解, 每行一个解。

直接暴力法解

#include<iostream>
using namespace std;
int main()
{
	for (int a = 1; a <= 9; a++) {
		for (int b = 1; b <= 9; b++) {
			for (int c = 1; c <= 9; c++) {
				for (int d = 1; d <= 9; d++) {
					for (int e = 1; e <= 9; e++) {
						for (int f = 1; f <= 9; f++) {
							for (int g = 1; g <= 9; g++) {
								for (int h = 1; h <= 9; h++) {
									for (int i = 1; i <= 9; i++) {
										if (a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i &&
											b != c && b != d && b != e && b != f && b != g && b != h && b != i
											&& c != d && c != e && c != f && c != g && c != h && c != i
											&& d != e && d != f && d != g && d != h && d != i
											&& e != f && e != g && e != h && e != i
											&& f != g && f != h && f != i
											&& g != h && g != i
											&& h != i) {
											int A = a * 100 + b * 10 + c;
											int B = d * 100 + e * 10 + f;
											int C = g * 100 + h * 10 + i;
											if ((2.0 * A == B )&& (3.0 * A == C)) {
												cout << A << " " << B << " " << C << " " << endl;
											}
										}

									}
								}
							}
						}
					}
				}
			}
		}
	}
	return 0;
}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐