如图:有十进制数字a,b,c,d和e,求满足式子:abcd*e=dcba(a非0,e非0非1)的四位数中:(1)共有多少个?(2)最小的abcd;(3)与之相对应的e。
工具/原料
C++编译器
一、答案:
1、代码如下:#include<iostream>using namespace std;i荏鱿胫协nt main(){ int min(9999),k(0); for(int a=1;a<=9;a++) for(int b=0;b<=9;b++) for(int c=0;c<=9;c++) for(int d=0;d<=9;d++) for(int e=2;e<=9;e++) {if((a*1000+b*100+c*10+d)*e==(d*1000+c*100+b*10+a)) { k++;min=(a*1000+b*100+c*10+d); if(k==1) {cout<<"min="<<min<<"\ne="<<e<<endl;} }} cout<<"共有"<<k<<endl; return 0; }
2、运行结果:
二、说明:
1、如图,此题应用穷举法,列出所有可能:for(int a=1;a<=9;a++) for(int b=0;b<=9;芟鲠阻缒b++) for(int c=0;c<=9;c++) for(int d=0;d<=9;d++) for(int e=2;e<=9;e++)
2、判断是否满足条件:if((a*1000+b*100+c*10+d)*e==(d*1000+c*100+b*10+a)
3、记录个数,并输出最小值:k++;min=(a*1000+b*100+c*10+d); if(k==1) {cout<<"min="<<min<<"\ne="<<e<<endl;}