关于一道小学奥数题目
来源:互联网 发布:电脑上画画的软件 编辑:程序博客网 时间:2024/05/02 04:19
#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;}