码迷,mamicode.com
首页 > 其他好文 > 详细

求最大公约数

时间:2018-10-07 12:58:28      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:rgs   java   pre   int   gcd   int()   nbsp   NPU   demo1   

一. 如何求最大公约数?

方法:创建一个变量gcd来依次存储公约数。

1 int gcd = 0;

举例分析:10和20的公约数有1,2,4,5,10

那么如何找到10呢?

1.首先公约数小于或等于输入的数;

2.公约数能够被输出入整除。代码如下:

1     for(int i=2;i<=number1&&i<=number2;i++) {
2             if(number1%i==0&&number2%i==0) {
3                 gcd = i;//把公约数i依次付给变量gcd中
4             }
5         }

代码实现:

 for循环:

 1 package Demo1;
 2 import java.util.Scanner;
 3 public class Demo5 {
 4 
 5     public static void main(String[] args) {
 6         
 7         Scanner input = new Scanner(System.in);
 8         System.out.print("请输入第一个数值:");
 9         int number1 = input.nextInt();
10         System.out.print("请输入第二个数值:");
11         int number2 = input.nextInt();
12         
13         
14         int gcd = 1;
15         for(int i=2;i<=number1&&i<=number2;i++) {
16             if(number1%i==0&&number2%i==0) {
17                 gcd = i;//把公约数赋值给变量gcd
18             }
19         }
20         System.out.println(gcd);
21     }
22 }

 

 while循环

 1 package Demo1;
 2 import java.util.Scanner;
 3 public class Demo4 {
 4     public static void main(String[] args) {
 5     //求最大公约数
 6         Scanner input = new Scanner(System.in);
 7         System.out.print("请输入第一个数值:");
 8         int number1 = input.nextInt();
 9         System.out.print("请输入第二个数值:");
10         int number2 = input.nextInt();
11         
12         int i=2;
13         int gcd = 0;//把公约数存放在变量gcd当中
14         
15         while(i<=number1&&i<=number2) {
16             if(number1%i==0&&number2%i==0) {
17                 gcd = i;
18                 
19             }
20             i++;
21         }
22         System.out.println(gcd);
23     }
24 }

 

求最大公约数

标签:rgs   java   pre   int   gcd   int()   nbsp   NPU   demo1   

原文地址:https://www.cnblogs.com/ONE-PIECE-ZXZ/p/9749780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!