java中的gcd

简介: java中的gcd

java中有很多已经实现的方法,不需要我们额外的处理,即已经有了最优解,其中一个便是gcd(greatest common divisor,最大公约数)。

  • 说明
  • java.math.BigInteger.gcd(BigInteger val) 
  • 示例


// create 3 BigInteger objects
BigInteger bi1, bi2, bi3;
// assign values to bi1, bi2
bi1 = new BigInteger("18");
bi2 = new BigInteger("24");
// assign gcd of bi1, bi2 to bi3
bi3 = bi1.gcd(bi2);
String str = "GCD of " + bi1 + " and " + bi2 + " is " +bi3;
// print bi3 value
System.out.println( str );
  • 结果


GCD of 18 and 24 is 6


  • 力扣相关(6224.最大公因数等于 K 的子数组数目


给你一个整数数组 nums 和一个整数 k ,
请你统计并返回 nums 的子数组中元素的最大公因数等于 k 的子数组数目。
子数组 是数组中一个连续的非空序列。
  • 解答


// gcd暴力求解
import java.math.BigInteger;
class Solution {
  public int subarrayGCD(int[] nums, int k) {
    int count = 0;
    for (int i = 0; i < nums.length; i++) {
      BigInteger gcd = BigInteger.ZERO;
      for (int j = i; j < nums.length; j++) {
        count += (gcd = gcd.gcd(BigInteger.valueOf(nums[j]))).intValue() == k ? 1 : 0;
      }
    }
    return count;
  }
}
相关文章
|
6月前
|
编解码 算法 Java
Java中的位运算详解
Java中的位运算详解
|
Java
Java求最大公约数
Java求最大公约数
84 0
|
8天前
|
存储 Java
Java中的位运算
本文介绍了位运算符的基础知识,包括原码、反码、补码的概念,以及常见的位运算符(如移位运算符 `&lt;&lt;`、`&gt;&gt;`、`&gt;&gt;&gt;` 和逻辑运算符 `&`、`|`、`^`、`~`)的使用方法和规则。通过具体的二进制示例,详细解释了这些运算符的工作原理,帮助读者更好地理解位运算在计算机中的应用。
Java中的位运算
|
4月前
|
存储 Java 测试技术
Java零基础(22) - Java位运算符,了解一下!
【9月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
71 5
|
Java
Java求最小公倍数
Java求最小公倍数
68 0
|
Java
Java递归函数
Java递归函数
81 0
java202302java学习笔记第十一天-找质数1
java202302java学习笔记第十一天-找质数1
53 0
java202302java学习笔记第十一天-找质数1
java202302java学习笔记第十一天-买飞机票和质数1
java202302java学习笔记第十一天-买飞机票和质数1
68 0
java202302java学习笔记第十一天-买飞机票和质数1
java202302java学习笔记第十一天-买飞机票和质数2
java202302java学习笔记第十一天-买飞机票和质数2
76 0
java202302java学习笔记第十一天-买飞机票和质数2
java202302java学习笔记第十一天-买飞机票和质数3
java202302java学习笔记第十一天-买飞机票和质数3
65 0
java202302java学习笔记第十一天-买飞机票和质数3

热门文章

最新文章