如何编程:
       分别求两个数的最小公倍数和最大公约数,要求这两个数在键盘上输出~
     那个把代码写给我啊,谢谢

解决方案 »

  1.   

    只会VB。NET,但有注释,应该能看的懂吧  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim A, B, C, R, P, Q As Integer, S, S1 As Long
            A = Int(TextBox1.Text)         ‘取整
            B = Int(TextBox2.Text)          ’去整    
            '求A和B的最大公约数Q
            R = 1                               'R赋初值1
            While R <> 0
                P = Int(A / B)
                R = A - B * P '求余数R
                If R <> 0 Then
                    A = B
                    B = R
                End If   '如果余数R不为0,则产生新的A和B
            End While
            Q = B
            TextBox3.Text = Q   ‘TextBox3即为最大公约数
            S1 = Int(TextBox1.Text) * Int(TextBox2.Text) / Q   ' 求A和B的最小公倍数S1,这个公式应该能明白吧。
            TextBox4.Text = S1
        End Sub
      

  2.   

    //最大公约数
    int MaxNum(int i,int j)
    {
         int b = (i>j) ? i - j : j - i ;
         int min = (i>j) ? j : i;
         return (b>min) ? b%min : b;
    }
      

  3.   

    //最大公约数
    int MaxNum(int i,int j)
    {
         int b = (i>j) ? i - j : j - i ;
         int min = (i>j) ? j : i;
         return (b>min) ? (b%min == 0 ? min : b%min) : b;
    }
      

  4.   

    在TextBox里面吗?private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
      if (!char.IsNumber(e.KeyChar)) e.Handled = true;
            }
      

  5.   

    //最大公约数
    int MaxNum(int i,int j)
    {
         int b = (i>j) ? i - j : j - i ;
         int min = (i>j) ? j : i;
         return (b>min) ? b%min : b;
    }
      

  6.   

    //最大公约数
    int MaxNum(int i,int j)
    {
         int b = (i>j) ? i - j : j - i ;
         int min = (i>j) ? j : i;
         return (b>min) ? (b%min == 0 ? min : b%min) : b;
    }
      

  7.   

    倒?键盘上输入数字?程序中发送数字吧?1.先设置焦点(使用控件.Focus()方法)
    2.调用SendKeys.SendKey("xxx")
      

  8.   

    我靠,有没有简单的啊 ?比如把输入的字符转化成数字啊 那些代码~~只需要键盘读取数字!!什么convert.toint32()啊呵呵 ,不明白,讲讲!!!
      

  9.   

    如果不用控件呢,怎么办呢,我的意思是不用WINDOWS的FORM!直接编程,应该行吧?》
      

  10.   

    好像上面的都不能求得最大公约数
    laviewpbt(人一定要靠自己)的会陷入死循环。
    其余的结果都有问题,不信用50,47代入试试。
      

  11.   

    int MaxNum(int i,int j)
    { if(i==j)
         {return i;}
      else
         { 
         int max = (i<j) ? j : i;
         int min = (i>j) ? j : i;
         int mod ;
         do{
            mod= max%min
            max = min;
            min = mod;
           }while mod == 0
           return max;
          }
    }
    直接编程用控制台应用程序吧
      

  12.   

    int MaxNum(int i,int j)
    { if(i==j)
         {return i;}
      else
         { 
         int max = (i<j) ? j : i;
         int min = (i>j) ? j : i;
         int mod ;
         do{
            mod= max%min
            max = min;
            min = mod;
           }while mod == 0
           return max;
          }
    }//继承楼上int MinNum(int i,int j)
    {
    return i*j/MaxNum(i,j);
    }小弟c#,没有看过的说,怎么用键盘输入,建议楼主看看这方面的书籍吧:)
      

  13.   

    static void Main(string[] args)
    {
    int a = int.Parse(System.Console.ReadLine());
    int b = int.Parse(System.Console.ReadLine());
    System.Console.WriteLine("结果:" + MaxNum(a, b));
    System.Console.Read();
    }注意 MaxNum(a, b))方法前面已经有方法了
      

  14.   

    我刚才测试一下
    MaxNum(50,80)为什么会是30呢?50,80的最大公约数是30吗?
      

  15.   

    public static int lcm( int m , int n )
    {
    int r;
    if( m < n )
    {
    int temp = m;
    m = n;
    n= temp;
    }
    r = m%n;
    while( r != 0 )
    {
    m=n;
    n=r;
    r = m%n;
    }
    return n;
    }
      

  16.   

    //最大公约数
    int MaxNum(int i,int j)
    {
         int b = (i>j) ? i - j : j - i ;
         int min = (i>j) ? j : i;
         return (b>min) ? (b%min == 0 ? min : b%min) : b;
    }//最大公约数
    int MaxNum(int i,int j)
    {
         int b = (i>j) ? i - j : j - i ;
         int min = (i>j) ? j : i;
         return (b>min) ? b%min : b;
    }是不是有错哦!有心人请验证一下
      

  17.   

    我验了的,就是好像有错~~我把以上的综合了一下,但是出来不到,哈哈~~看:
    using System;
    class A
    {
    int MaxNum(int i,int j)
     {
     if(i==j)
       {return i;}
       else
       { 
       int max = (i<j) ? j : i;
       int min = (i>j) ? j : i;
       int mod ;
       do
       {
       mod= max%min;
       max = min;
       min = mod;
       }while( mod == 0);
       return max;
       }
     }
     int MinNum(int i,int j)
     {
       return i*j/MaxNum(i,j);
     }
    static void Main(string[] args)
    {
    int a = int.Parse(System.Console.ReadLine());
    int b = int.Parse(System.Console.ReadLine());
    System.Console.WriteLine("结果:" + MaxNum(i,j));
    System.Console.Read();
    }}
      

  18.   


    while( mod == 0)
    改成
    while( mod > 0)
      

  19.   

    他说的("结果:" + MaxNum(i,j));上有错是什么意思阿?
      

  20.   

    System.Console.WriteLine("结果:" + MaxNum(i,j).ToString() );
      

  21.   

    他说的J和I在CLASS A 中不存在!!!!!
      

  22.   

    using System;
    using System.IO;
    using System.Data;namespace gongyuegongbei
    {
    class Class1
    {
    public static int MaxNum(int i,int j)
    {
    if(i==j)
    {return i;}
    else

    int max = (i>j) ? j : i;
    int min = (i<j) ? j : i;
    int mod ;
    do
    {
    mod= max%min;
    max = min;
    min = mod;
    }while (mod > 0);
    return max;
    }
    public static int MinNum(int i,int j)
    {
    return i*j/MaxNum(i,j);
    }
    [STAThread]
    static void Main(string[] args)
    {
    int a = int.Parse(System.Console.ReadLine());
    int b = int.Parse(System.Console.ReadLine());
    System.Console.WriteLine("最大公約數" + MaxNum(a,b).ToString());
                System.Console.WriteLine("最小公倍數" + MinNum(a,b).ToString());
    System.Console.Read();
    }
    }
    }
    樓主看這裡!標準答案,已經驗證完,可以給分了!!!