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()函数。另外再两两判断字母是否相同。