一、判断闰年
public class 判断闰年 {
// 1、能被4整除,但不能被100整除;2、能被400整除;
public static void main(String[] args) {
System.out.println(is(2021));
}
static boolean is(int year) {
return year%400==0||(year%4==0&&year%100!=0);
}
}
二、筛素数
public class 筛素数 {
public static void main(String[] args) {
for(int i=1;i<100;i++) {
if(is(i)) {
System.out.println(i);
}
}
}
static boolean is(int n) {
if(n==1)
return false;
for(int i=2;i<=Math.sqrt(n);i++)
if(n%i==0)
return false;
return true;
}
}
三、最大公约数(欧几里得算法)
public class 最大公约数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(gcd(3,9));
}
static int gcd(int a,int b) {
return b==0?a:gcd(b,a%b);
}
}
四、最小公倍数
public class 最小公倍数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(lcm(10,8));
}
static int gcd(int a,int b) {
return b==0?a:gcd(b,a%b);
}
static int lcm(int a,int b) {
return a*b/gcd(a,b);
}
}
五、欧拉函数
public class 欧拉函数 {
static long Euler(long n) {
long ans=n;
for(long i=2;i<=n;i++) {
if(n%i==0) {
ans=ans/i*(i-1);
while(n%i==0) {
n/=i;
}
}
}
return ans;
}
public static void main(String[] args) {
System.out.println(Euler(2000000));
}
}