减式还原
編寫程序求解下式中各字母所代表的數字,不同的字母代表不同的數字。
PEAR
- ARA
--------
PEA
*問題分析與算法設計
類似的問題從計算機算法的角度來說是比較簡單的,可以采用最常見的窮舉方法解決。程序中采用循環窮舉每個字母所可能代表的數字,然后將字母代表的數字轉換為相應的整數,代入算式后驗證算式是否成立即可解決問題。
*程序說明與注釋
#include<stdio.h>
int main()
{
int p,e,a,r;
for(p=1;p<=9;p++) /*從1到9窮舉字母p的全部可能取值*/
for(e=0;e<=9;e++) /*從0到窮舉字母e的全部可能取值*/
if(p!=e) /*p不等于e*/
for(a=1;a<=9;a++) /*從0到9窮舉字母a的全部可能取值*/
if(a!=p&&a!=e)
for(r=0;r<=9;r++) /*從0到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);
}
}
*運行結果
PEAR 1098
- ARA - 989
---------- ------
PEA 109
*思考題
請復原下面的和式。不同的字母代表不同的數字。
SEVEN 82524 82526
THREE 19722 19722
+ TWO 答案: + 106 + 104
---------- ----------- -----------
TWELVE 102352 102352
轉載于:https://www.cnblogs.com/junzhongxu/archive/2008/07/24/1250303.html
總結
- 上一篇: ASP.NET获取IP的6种方法
- 下一篇: 哈佛管理论丛:谁背上了令人讨厌的猴子