求最大公约数
Posted one-piece-zxz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求最大公约数相关的知识,希望对你有一定的参考价值。
一. 如何求最大公约数?
方法:创建一个变量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 }
以上是关于求最大公约数的主要内容,如果未能解决你的问题,请参考以下文章