您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C趣味程序百例(20).减式还原 【注册男护士专用博客】          

C趣味程序百例(20).减式还原

www.nanhushi.com     佚名   不详 

63.减式还原
    编写程序求解下式中各字母所代表的数字,不同的字母代表不同的数字。
                    PEAR
                  -  ARA
                 --------
                     PEA
*问题分析与算法设计
    类似的问题从计算机算法的角度来说是比较简单的,可以采用最常见的穷举方法解决。程序中采用循环穷举每个字母所可能代表的数字,然后将字母代表的数字转换为相应的整数,代入算式后验证算式是否成立即可解决问题。
*程序与程序注释
#include<stdio.h>
void 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

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目