Q: ABCD
* E
————-
DCBA (该计算公式中的ABCDE代表数字不同,编写一个程序,计算出ABCDE各代表什么数字)
#include <iostream> using namespace std; int main() { 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=1;e<=9;e++) if((a*1000+b*100+c*10+d)*e==(d*1000+c*100+b*10+a) && a!=b &&a!=c && a!=d && a!=e &&b!=c &&b!=d &&b!=e &&c!=d && c!=e && d!=e) cout<<a<<b<<c<<d<<" "<<e<<endl; return 0; }
思路二:可以看到ABCD取值范围为[1000,9999],E的取值范围[1,9],用5.6判断回文数字的方法把ABCD数字反转为DCBA,即用reverse()函数。另外再两两判断字母是否相同。