关于一道小学奥数题目

来源:互联网 发布:电脑上画画的软件 编辑:程序博客网 时间: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;}

原创粉丝点击