求两个数a和b的最大公约数
int a=s.nextInt();
int b=s.nextInt();
int c,d;
while (true){
if(a>b){
c=a;
d=b;
}else {
c=b;
d=a;
}
a=c%d;
b=d;
if(a==0){
System.out.println(b);
break;
}
}
a和b的最小公倍数求法,a乘b再除以它们的最大公约数
求一个数n的最大质因数
int n=s.nextInt();
int i,ans=0;
for( i=2;i*i<=n;i++){
while (n%i==0){
ans=i;
n/=i;
}
}
if(n>1){
ans=n;
}
System.out.println(ans);
int n=s.nextInt();
int k = 2;
while (n > 1){
if (n % k == 0){
n /= k;
}
else{
k++;
}
}
System.out.println(ans);
求小于等于n的所有质数
int n=s.nextInt();
int[] primes=new int[n+1];
boolean[] st=new boolean[n+1];
int count=0;
for(int i=2;i<=n;i++){
if(!st[i])primes[count++]=i;
for(int j=0;i*primes[j]<=n;j++){
st[i*primes[j]]=true;
if(i%primes[j]==0)break;
}
}
System.out.println(Arrays.toString(primes));