正文

[C++]编程入门必做的题第1,2题思路.2006-08-01 13:12:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fengfei/17071.html

分享到:

第一题:

/* 题目:
  1.  给定等式  A B C D E     其中每个字母代表一个数字,且不同数字对应不
                    D F G     同字母。编程求出这些数字并且打出这个数字的
             +      D F G     算术计算竖式。

             ───────

                X Y Z D E
*/

/* 分析:
 1: 由G + G = E和F + F = D,知G = 0,F = 5.  如果G = 5则F + F != D,因为G + G会进一.

 2: ABC + D + D = XYZ,知C + D + D会进2, 得C + D + D + 1(F+F进位的1) > 20, 而B + 2(前面进位的2)又要进1, 可知B = 9,Y = 1,( B != 8,因为如果B = 8, 则Y就会等于0, 而与G = 0 相矛盾). 也知 A = X - 1;

 通过上2步,得出的结果是G=0, F=5, B=9, Y=1, A=X-1, C+D+D+1>20;
                       A,C,D,E,X,Z只能为(2,3,4,6,7,8)中的数字.

 3: 因为C+D+D+1>20, 所以C,D的可能值为(4, 8),(6, 8),(7, 8)
                                     (6, 7),(8, 7),(8, 6)
    而因为Y=1, 所以C+D+D+1进位后的余数Z不能为1, 所以(4, 8),(6, 7),(8, 6)不可取.. 
    所以C,D可能值为(6, 8),(7, 8),(8, 7)
  
    (A): 当C,D值为(6, 8)时, Z=3, 剩余数字(2,4,7), 又因为A=X-1, 剩余数字不能满足A=X-1, 所以排除.
    (B): 当C,D值为(7, 8)时, Z=4, 剩余数字(2,3,6), 又因为A=X-1, 剩余数字满足A=X-1, 所以A=2, X=3, E=6.
      此值正确.
    (C): 当C,D值为(8, 7)时, Z=3, 剩余数字(2,4,6), 又因为A=X-1, 剩余数字不能满足A=X-1, 所以也排除.
  由第3步的A=2, C=7, D=8, E=6, X=3, Z=4

  所以正确结果为: A=2, B=9, C=7, D=8, E=6, F=5, G=0, X=3, Y=1, Z=4. 

  定等式为:  A B C D E             2 9 7 8 6
                 D F G                 8 5 0
             +   D F G     ==> +       8 5 0

             ───────       ──────

             X Y Z D E             3 1 4 8 6

*/

 

第2题:



/* 题目 *******************************************************************************************

  2. A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
     人参加了竞赛:
     (1):A参加时,B也参加;
     (2):B和C只有一个人参加;
     (3):C和D或者都参加,或者都不参加;
     (4):D和E中至少有一个人参加;
     (5):如果E参加,那么A和D也都参加。

**************************************************************************************************/

/*
由条件1,2,3,5可知E肯定不会参加....
PS: "+" 表示参加.   "-"不参加

推断:
           (5) 
假设: E+ ------> A+和D+
  
           (1)        (2)
      A+ ------> B+ ------> C- 

           (3)     
      D+ ------> C+    

     由A+推出的C-和由D+推出的C+相矛盾,所以E+不可能,只能E-;
 
           (4)        (3)         (2)        (1)
因此: E- ------> D+ -------> C+ ------> B- ------> A-
      故此题正确结果是C和D都参加了,而A,B和E都没有参加

*/

PS: 还没想好怎样用程序来实现这2个题目。。。

阅读(4996) | 评论(4)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册