求这样的两个数据:5位数=2×4位数,9个数字互不相同。

意外的跑的很快的穷举法。额滴神呐,这是人能写出来的屎山吗。

某瓣不敢评分↓

#include <iostream>
using namespace std;

int main() {
	int a, b, c, d, e;
	int f, g, h, k;
	int num5 = 0, num4 = 0;
	for (a = 1; a <= 9; a++) {
		for (b = 0; b <= 9; b++) {
			if (b == a) {
				continue;
			}
			for (c = 0; c <= 9; c++) {
				if (c == a || c == b) {
					continue;
				}
				for (d = 0; d <= 9; d++) {
					if (d == a || d == b || d == c) {
						continue;
					}
					for (e = 0; e <= 8; e += 2) {
						if (e == d || e == c || e == b || e == a) {
							continue;
						}
						num5 = a * 10000 + b * 1000 + c * 100 + d * 10 + e;
						num4 = num5 / 2;
						if (num4 >= 10000) {
							continue;
						}
						k = num4 % 10;
						if (k == a || k == b || k == c || k == d || k == e) {
							continue;
						}
						h = num4 / 10 % 10;
						if (h == k|| h == a || h == b || h == c || h == d || h == e) {
							continue;
						}
						g = num4 / 100 % 10;
						if (g == k || g == h|| g == a || g == b || g == c || g == d || g == e) {
							continue;
						}
						f = num4 / 1000;
						if (f == k || f == h || f == g|| f == a || f == b || f == c || f == d || f == e) {
							continue;
						}
						cout << num4 << " " << num5 << endl;
					}
				}
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值