有一道小学3年级的数学题,大学生都不一定能够做出来哦!!!

来源:百度知道 编辑:UC知道 时间:2024/06/14 19:45:19
有一道小学3年级的数学题,题目是。有123456789这9个数,将这9个数填入下列9个框框上,不许重复。□□□□乘以□=□□□□

1738 * 4 = 6952
1963 * 4 = 7852

#include<iostream.h>

void print(int a_h[]) {
for (int i=0; i<9; i++)
cout<<a_h[i]<<' ';
cout<<endl;
}

void swap(int &a, int &b) {
int t = a;
a = b;
b = t;
}//交换

void reverse(int a[], int i, int j) {
while (i<j) {
swap(a[i++],a[j--]);
}
}//颠倒

T(int a[]) {
int b = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3],
c = a[4],
d = a[5] * 1000 + a[6] * 100 + a[7] * 10 + a[8];
if(b*c==d) return 1;
return 0;
}

void main() {
int a[9] = {1,2,3,4,5,6,7,8,9}, i, j, n = 0;
while (1) {
if (T(a)) {
cout<<++n<<':';
print(a);
}
for (i=7; i>=0; i--)
if (a[i] < a[i+1]) break;
if (i==-1) break;
for (j=8; j>i; j--)
if (a[j] > a[i]) break;
swap(a[i],a[j]);