原问题是用C#写出a+b=4,a*b=4,求a、b的值?乍一看,我以为a=2,b=2;因为2+2=4,2*2=4,这应该是没有什么好怀疑的了,可是我用我小学数学算了一下,却完全不是这么回事。当然我也不知道C#应该怎么写,大家可以一起讨论下.我是这么算的.
a=4-b
b=4-a
a*b=4     a和b都不为0了
a=a*b-b     4=a*b
1=1/b-b/a   左右两边除以a
1=1/b-4b/b   a=4/b
1=1/b-4
1/b=5
b=1/5
a=19/5最后竟然得出来的结果是这样的,a=19/5 ,b=1/5,我不知道是不是我哪算错了,套进去一看,好像也没问题,求解算出a=2,b=2的算法,及C#的写法...可以加(聊天)群讨论下 :群号5678537

解决方案 »

  1.   

    LZ小学数学都没学好:
    a+b=4  ==> a=4-b
    a*b=4  ==> (4-b)*b=4
           ==> b2-4b+4=0
           ==> (b-2)2=0 
           ==>b=2  a=4-b=2
      

  2.   

    a=a*b-b 4=a*b
    1=1/b-b/a 左右两边除以a
    ===
    两边都除以a  结果应该是  1=b=b/a 吧
      

  3.   

    两边都除以a 结果应该是 1=b-b/a 吧
      

  4.   

    LZ的逻辑决定了LZ 不适合做程序员这一行。。
      

  5.   

    这两步:
    a=a*b-b
    1=1/b-b/a 左右两边除以a私人认为,左右两边除以a以后
    第一个式子会变成 1 = b - b / a
    你那个1/b怎么得到的不敢苟同
      

  6.   

    a=4-b
    b=4-a
    a*b=4 a和b都不为0了
    a=a*b-b 4=a*b
    1=1/b-b/a 左右两边除以a  这错了 上一步除以a 之后是1=b-b/a,  明白了吗 a*b除以a不等于1/b
    后边就没必要看了   
    1=1/b-4b/b a=4/b
    1=1/b-4
    1/b=5
    b=1/5
    a=19/5
      

  7.   

    a=a*b-b这个两边除以a
    a/a=a*b/a-b/a
    是不是等于
    1=a-b/a请看清楚点,跟在后面的是注释.......
      

  8.   

    a+b=4,a*b=41. a = 4 - b;
    2. a = 4 / b;
    3. (4 - b) = 4 / b;
    4. (4 - b) - (4 / b) = 0;
    5. (b - 2)(b - 2) = 0;解得: b = 2;  小学文化.
      

  9.   


    (1/5)*(19/5)=4  ?LZ的逻辑决定了LZ 不适合做程序员这一行。。
      

  10.   

     int a;
                int b;
                for (a = 0; a < 4; a++)
                {
                    b = 4 - a;
                    if ((a+b)==4 && (a * b) == 4)
                    {
                        Console.WriteLine(a);
                        Console.WriteLine(b);
                    }
                }
      

  11.   

    lssss````别批评了,谁还没个错不是···
      

  12.   

    复习一下数学:
    对于
    a + b = X;
    a * b = Y;
    总是有以下推导:
    a = X - b;
    (X - b) * b = Y;
    X * b - b ^ 2 = Y;
    b ^ 2 - X * b + Y = 0;
    b ^ 2 - 2 * X / 2 * b + (X / 2) ^ 2 - (X / 2) ^ 2 + Y = 0;
    (b - X / 2) ^ 2 = (X / 2) ^ 2 - Y;
    (2 * b - X) ^ 2 / 4 = (X ^ 2 - 4 * Y) / 4;
    (2 * b - X) ^ 2 = X ^ 2 - 4 * Y;
    2 * b - X = 开根号(X ^ 2 - 4 * Y);
    b = (X + 开根号(X ^ 2 - 4 * Y)) / 2;
    因此对于给定条件有以下结果
    b = (X + 开根号(X ^ 2 - 4 * Y)) / 2;
    a = X - b;
    故, 可使用PHP程序解决
    $a + $b = $x;
    $a * $b = $y;
    已知$x和$y求$a和$b的值的问题. 代码如下:
    <?php
    function calc($x, $y) {
        $b = ($x + sqrt(pow($x, 2) - 4 * $y)) / 2;
        $a = $x - $b;
        return array('a' => $a, 'b' => $b);
    }
    ?>
      

  13.   

    a=a*b-b 4=a*b
    1=1/b-b/a 左右两边除以a
    应该是
    1=a-b/a
      

  14.   


    a+b=4 a*b=4
    a=4-b
    (4-b)*b=4
    解出重根 a1=2,b1=2
    a2=2,b2=2
    最多就这两个了,这样都让你得分了,鄙视lz
      

  15.   

    不想说LZ 什么这么简单的数学题
      x+y=4
    {
      xy=4x=4-y
    (4-y)y=4
    yy-4y+4=0
    y=2
    x=4-y=2
      

  16.   

    数学的解题方式我想这个无可厚非,2,2。此题楼主发表的论点应该是用C#来实现求解。
    LS有位仁兄给出了代码,通过从0-4区间来遍历,我想这个区间范围的取值应该不只是追溯到小学知识了吧。
      

  17.   

    贴子蛮热闹的嘛,对,我的问题是问怎么用C#写出答案来,我觉得LS说用0-4区间遍历不是很好啊,有没更好的意见的,提出来的嘛......
      

  18.   


    a + b = 4
     ↓
    b = 4 - aa * b = 4

    a *(4 - a) = 4

    4a - a^2 = 4

    a^2 - 4a + 4 = 0

    (a - 2)^2 = 0

    a = 2

    b = 2初中数学问题。
      

  19.   

    LZ小学都没毕业。
    a=a*b-b 4=a*b
    1=1/b-b/a 左右两边除以aa * b / b == 1 / b ??? 哈哈哈
      

  20.   

    http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/28.gif