java算法

1.最大公约数gcd

1
2
3
4
public static int gcd(int x,int y)
{
return y==0?x:gcd(y,x%y);
}

2.最小公倍数lcm

1
2
3
4
public static int lcm(int a, int b) 
{
return a / gcd(a, b)*b;
}

3.素数

1
2
3
4
5
6
7
8
9
10
11
12
public static boolean isPrime2(int n) {
if (n <= 3) {
return n > 1;
}
int sqrt = (int) Math.sqrt(n);
for (int i = 2; i <= sqrt; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}

4.素数筛(预处理素数)

1
2
3
4
5
6
7
8
9
10
11
for(int i = 2;i < v.length;++i) 
{
if(v[i] == 0)
{
list.add(i);
for(int j = i * i;j < v.length;j+=i)
{
v[j] = 1;
}
}
}

java算法
https://hainoir.github.io/posts/2f8a531c.html
作者
hainoir
发布于
2026年2月5日
许可协议