用C语言编abcd*e=dcba

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:03:44
用C语言编个程序,实现一下功能:
输入任意不分大小的26个字母的其中若干个(1~10个)作为被乘数;
再输入任意不分大小的26个字母的其中若干个(1~10个)作为被乘数;
让被乘数乘以乘数,让结果在数字上与被乘数各位相反,输出可能组合的全不方式。
如:
一个6位数ABCDEK,乘以E之后,得数为KABCDE,求原数为多少?(不同的字母代表不同的数字), 注意,数字不能重复哦?
142857*5=714285
153846*4=615384

#include <iostream>
using namespace std;
void main()
{
int i, j;
int A,B,C,D,T,K;
for(j = 1; j < 10; j++)
{
for(i = 1000; i < 10000; i++)
{
T = i;
A = (i / 1000) % 10;
B = (i / 100) % 10;
C = (i / 10) % 10;
D = i % 10;
K = D * 1000 + C * 100 + B * 10 + A % 10;
if(D != j && T * j == K && A != B && B!= C && C != D && A != D)
cout <<"ABCD = "<< A << B << C << D << ",E =" << j << endl;
}
}
system("pause");
}

多写几个判断语句就行了.

abcd * e = dcba
2178 * 4 = 8712
Press any key to continue

ABCDEK * E = KABCDE
142857 * 5 = 714285
153846 * 4 = 615384
Press any key to continue