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

 

posted on 2017-04-28 10:54  王小东大将军  阅读(186)  评论(0编辑  收藏  举报