编写程序求解下式中各字母所代表的数字,不同的字母代表不同的数字。
PEAR
- ARA
——–
PEA
*问题分析与算法设计
类似的问题从计算机算法的角度来说是比较简单的,可以采用最常见的穷举方法解决。程序中采用循环穷举每个字母所可能代表的数字,然后将字母代表的数字转换为相应的整数,代入算式后验证算式是否成立即可解决问题。
#include <stdio.h>
[root@localhost 62]# ./a.out
PEAR 1098
-ARA - 989
------- --------
PEA 109
PEAR
- ARA
——–
PEA
*问题分析与算法设计
类似的问题从计算机算法的角度来说是比较简单的,可以采用最常见的穷举方法解决。程序中采用循环穷举每个字母所可能代表的数字,然后将字母代表的数字转换为相应的整数,代入算式后验证算式是否成立即可解决问题。
#include <stdio.h>
int main()
{
int p, e, a, r;
for (p = 1; p <=9; p++)
for (e = 0; e <= 9; e++)
if(p != e)
for (a = 1; a <= 9; a++)
if (a != p && a != e)
for (r = 0; r <= 9; r++)
if (r != p && r != e && r != a && p*1000 + e* 100 + a*10 + r - (a*100 + r*10 + a) == p*100 + e*10 + a)
{
printf(" PEAR %d%d%d%d\n", p, e, a, r);
printf(" -ARA - %d%d%d\n", a, r, a);
printf("------- --------\n");
printf(" PEA %d%d%d\n", p, e, a);
}
return 0;
}
[root@localhost 62]# ./a.out
PEAR 1098
-ARA - 989
------- --------
PEA 109