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

C趣味程序百例(21)除式还原(1)

www.nanhushi.com     佚名   不详 

66.除式还原(1)
    给定下列除式,其中包含5个7,其它打×的是任意数字,请加以还原。
  
                                   × 7 ×   --------------商
                            --------------
             除数------××|   ×××××-------------被除数
                               ×7 7
                            --------------
                                 × 7 ×
                                 × 7 ×
                               ----------
                                    × ×
                                    × ×
                                ----------
                                       ○
*题目分析与算法设计
    首先分析题目,由除式本身尽可能多地推出已知条件。由除式本身书已知:
    1、被除数的范围是10000到99999,除数的范围是10到99,且可以整除;
    2、商为100到999之间,且十位数字为7;
    3、商的第一位与除数的积为三位数,且后两位为77;
    4、被除数的第三位一定为4;
    5、 7乘以除数的积为一个三位数,且第二位为7;
    6、商的最后一位不能为0,且与除数的积为一个二位数。
由已知条件就可以采用穷举的方法找出结果。
*程序与程序注释
#include<stdio.h>
void main()
{
    long int i;
    int j,l;
    for(i=10000;i<=99999;i++)                     /*1. i:被除数*/
        if(i%1000-i%100==400)             /*4. 被除数的第三位一定为4*/
            for(j=10;j<=99;j++)           /*1. j: 余数*/
                if(i%j==0&&(l=i/j)%100>=70&&l%100<80&&l%10!=0&&l>100&&l<=999)


                    /*1. 可以整除&& 2.商l在100到999之间且十位数字为7&&6.商的个数不能为0*/
                    if((j*(l%10))<100&&j*(l%10)>10)    /*6. 商的个数与除数的积为二位数*/
                        if(j*7%100>=70&&j*7%100<80)   /*5. 7乘以除数的积的第二位为7*/
                            if(j*(l/100)%100==77&&j*(l/100)>100)
                                              /*商的第一位与除数的积的后两位为77*/
                                printf("%ld/%ld=%d\n",i,j,l);
}
*运行结果
     51463/53=971。  
可以看作为下列算式:

                        9 7 1
                   -------------
               5 3| 5 1 4 6 3
                    4 7 7
                  -------------
                      3 7 6
                      3 7 1
                     -----------
                        5 3
                        5 3
                     -----------
                          ○
*问题的进一步讨论
    在推出的已知条件中,几所有的条件都是十分明显的,换句话说,推出的已知条件就是对题目的平铺直叙。这种推已知条件的方法十分简单,并且行之有效。

*思考题
   下列除式中仅给定了一个8,其它打×的位置上是任意数字,请还原。
                              
                                   × 8 ×    ----------------商
                           ----------------


         除数-------×××|   ××××××---------------被除数
                              ××××
                            ---------------
                                  ×××
                                  ×××
                            ---------------
                                  ××××
                                  ××××
                            ---------------
                                        ○

 

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

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

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