*/-->
pre.src {background-color: Black; color: White;}
pre.src {background-color: Black; color: White;}
pre.src {background-color: Black; color: White;}
2015 蓝桥杯:3.三羊献瑞
祥 瑞 生 辉 + 三 羊 献 瑞 ------------ 三 羊 生 瑞 气
1234 + 5672 ------ 56328
==>
9567 + 1085 10652
比较烂的实现,递归不会写,以后看大神的吧,小白只会暴力…
int main(void) { int a[10] = {0}; for (a[1] = 1; a[1] <= 9; a[1]++) { for (a[2] = 0; a[2] <= 9; a[2]++) { for (a[3] = 0; a[3] <= 9; a[3]++) { for (a[4] = 0; a[4] <= 9; a[4]++) { for (a[5] = 1; a[5] <= 9; a[5]++) { for (a[6] = 0; a[6] <= 9; a[6]++) { for (a[7] = 0; a[7] <= 9; a[7]++) { for (a[8] = 0; a[8] <= 9; a[8]++) { int ok = 1; for (int i = 1; i <= 8; i++) { for (int j = 1; j <= 8; j++) { if (i == j) { continue; } if (a[i] == a[j]) { ok = 0; break; } } } if (ok) { int num1 = a[1]*1000+a[2]*100+a[3]*10+a[4]; int num2 = a[5]*1000+a[6]*100+a[7]*10+a[2]; int num3 = a[5]*10000+a[6]*1000+a[3]*100+a[2]*10+a[8]; if (num1 + num2 == num3) { printf(" %d\n", num1); printf("+ %d\n", num2); printf(" %d\n", num3); } } } } } } } } } } return 0; }
时间: 2024-09-30 17:33:18