#include<cstring>
#include<cstdio>
using namespace std;
/*用于求解 使用123456789 这9个数字组成
xxxx * x = xxxx
*/
int main()
{
unsigned multiplier_four,multiplier_one,product_four,number_record[10],temp;
//四字乘数大小不会低于1234 不能高于5000
for(multiplier_four=1234;multiplier_four<5000;multiplier_four++){
for(multiplier_one=1;multiplier_one<9;multiplier_one++){
if(multiplier_four * multiplier_one <=9876){
memset(number_record,0,sizeof(number_record));
/*for(int i=1;i<10;i++){
number_record[i] = 0;
}*/
product_four = multiplier_four * multiplier_one;
temp = multiplier_four;
while(temp){
number_record[temp%10] = 1;
temp/=10;
}
temp = product_four;
while(temp){
number_record[temp%10] = 1;
temp/=10;
}
number_record[multiplier_one] = 1;
int i=1;
while(i<10&&number_record[i]){
i++;
}
if(i==10){
printf("%u*%u=%u\n",multiplier_four,multiplier_one,product_four);
}
}
}
}
return 0;
}
关于一道小学奥数题目
最新推荐文章于 2022-02-04 14:58:15 发布