一个五位数,ABCDE*4=EDCBA,求出这样的五位数。
因为这是个五位数,那么A只能为1,2。如果A=1,那么4*E不能得到尾数为1的数,很容易推断出A=2,则E=8。那么可以确定这个五位数的范围。20008到25000;从而减少循环次数。
#include <iostream>
using namespace std;
int main()
{
long data;
int A,B,C,D,E;
int count = 0;
for ( data=20008;data<=25000;data++)
{
A=data/10000;
B=data%10000/1000;
C=data%1000/100;
D=data%100/10;
E=data%10;
count++;
if (E*3332+D*320==A*13333+B*1330+C*100)
{
cout<<"A="<<A<<endl;
cout<<"B="<<B<<endl;
cout<<"C="<<C<<endl;
cout<<"D="<<D<<endl;
cout<<"E="<<E<<endl;
}
}
cout<<"count="<<count<<endl;
}
面试官会进一步把这个题目改成一个智力题,用数学的方法推导出这个数是多少。