| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1034 人关注过本帖
标题:如何求两个数的最大公约数?求大神指导!!![em06]
只看楼主 加入收藏
天使在Jv
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2013-3-31
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
如何求两个数的最大公约数?求大神指导!!![em06]
如何求两个数的最大公约数?求大神指导!!!
搜索更多相关主题的帖子: 七夕 指导 公约数 如何 
2013-03-31 15:15
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:5 
程序代码:
#include <stdio.h>
int main() {
    int a, b, n1, n2, temp;
    scanf("%d%d", &n1, &n2);
    if(n1 < n2) {
        temp = n1;
        n1 = n2;
        n2 = temp;
    }
    a = n1; b = n2;
    while(b != 0) {
        temp = a % b;
        a = b;
        b = temp;
    }
    printf("%d %d\n", a, n1 * n2 / a);
    return 0;
}
2个都有了,自己看看吧....

仰望星空...........不忘初心!
2013-03-31 16:11
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
收藏
得分:5 
C语言版?
2013-03-31 17:40
hill5566
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-2-25
收藏
得分:5 
class MyException extends Exception{
    private static final long serialVersionUID = 1L;
    String message;
    public MyException(String ErrorMessagr){
        message = ErrorMessagr;
    }
    public String getMessage(){
        return message;
    }
}
public class ZDGYS{
    static int zdgy(int x,int y)throws MyException{
        if(x<0||y<0){
            throw new MyException("这两个数都不能小于0。");
        }
        int a=1;
        if(x>y){
            if(x%y==0){
                a=y;
               }else for(int i=2,j=0;i<=y/2;i++){
                if(y%i==0){
                    j=y/i;
                    if(x%j==0){
                        a=j;
                        break;
                       }
                     }
                }
        } else{   
            if(y%x==0){
                a=x;
               }else for(int i=2,j=0;i<=x/2;i++){
                if(x%i==0){
                    j=x/i;
                    if(y%j==0){
                        a=j;
                        break;
                        }
                    }
                  }
           }
        return a;
    }
    public static void main(String[]args){
        try{
            int A = zdgy(390,130);
            System.out.println("最大公约数为:"+A);
        }catch(MyException a){
            System.out.println(a.getMessage());
        }
    }
}
2013-03-31 18:31
wmb429006
Rank: 1
等 级:新手上路
帖 子:13
专家分:9
注 册:2012-12-1
收藏
得分:5 
import java.util.Scanner;
public class Test20_3 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int m,n;
        System.out.print("Enter the two number: ");
        m = input.nextInt();
        n = input.nextInt();
        int bigGcd = gcd(m, n);
        System.out.print("The biggest approximate number is " + bigGcd);
        
    }
    private static int gcd(int m, int n){
        if(m < n){
            int temp = m;
            m = n;
            n = temp;
        }
        if(m % n == 0)
            return n;
        else
            return gcd(n, m % n);
            
    }
}
2013-04-02 20:39
wmb429006
Rank: 1
等 级:新手上路
帖 子:13
专家分:9
注 册:2012-12-1
收藏
得分:0 
自己刚做的
2013-04-02 20:39
天使在Jv
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2013-3-31
收藏
得分:0 
回复 3楼 ren829
最好是用java编的!
2013-04-08 14:11
天使在Jv
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2013-3-31
收藏
得分:0 
回复 6楼 wmb429006
非常感谢!!!!!!
2013-04-08 14:19
蓝奇缘
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-22
收藏
得分:0 
程序代码:
/*

 * 从键盘上输入两个正整数,求他们的最大公约数

 */
import java.util.* ;
public class TJ05 {
    public static void main(String args[]){
        int m,n,a,b,i,c=1;
        System.out.print("请输入两个正整数:") ;
        Scanner scan = new Scanner(System.in) ;
        m=scan.nextInt() ;        //接收从键盘上输入的第一个数
        n=scan.nextInt() ;        //接收从键盘上输入的第二个数
        a=m>n?n:m ;        //取两数中的最小数
        b=m>n?m:n ;        //取两数中的最大数
        for(i=1;i<a/2;i++){
            if(b%a==0){
                System.out.println(m+"和"+b+"最大公约数为: "+a);
                System.exit(1);        //退出程序
            }else if(a%i==0&&b%i==0){
                c=i ;        //如果i能同时整除a和b,将i的值赋给c
                continue ;    //返回下一个循环体
            }
        }
        System.out.println(m+"和"+b+"最大公约数为: "+c);
    }
}
2013-04-08 18:06
蓝奇缘
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-22
收藏
得分:0 
程序代码:
/*

 *从键盘上输入两个数,求他们的最大公约数

 */
public class TJ06 {
    public static void main(String args[]){
        System.out.print("请输入两个正整数:") ;
        TJ06_1 tj = new TJ06_1();
        tj.getInfo() ;
    }
}
import java.util.Scanner;
public class TJ06_1 {
    public TJ06_1(){}
    Scanner scan = new Scanner(System.in) ;
    int c;
     int a=scan.nextInt() ;            //接收送键盘上输入的第一个数
     int b=scan.nextInt() ;
    public void getInfo(){
        a=a>b?a:b ;        //取两数的最大值
        b=a>b?b:a ;        //取两数的最小值
        if(a%b==0){
            c=b ;
            System.out.println(a+"和"+b+"的最大公约数为: "+c) ;
        }else{
            b=a%b ;            //将a对b取摸得值赋给b
            getInfo() ;
        }
   
    }
}
这是看了5楼的代码后  编的
2013-04-08 19:21
快速回复:如何求两个数的最大公约数?求大神指导!!![em06]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020001 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved