java,
分享于 点击 29744 次 点评:60
java,
题目链接:点击打开链接
代码:
package 代码;
import java.math.*;
import java .io.*;
import java .util.*;
import java.math.BigInteger;
import java.util.Scanner;
public class test {
public static BigInteger gdc(BigInteger m,BigInteger n) {
//BigInteger r = m.mod(n);
//while(r.compareTo(BigInteger.ZERO)!=0){
//m = n;
//n = r;
//r = m.mod(n);
//}
return m.gcd(n);
}
public static BigInteger f(BigInteger m,BigInteger n){
if(n.compareTo(BigInteger.ONE)==0){
return m;
}else{
m = m.multiply(n).divide(gdc(m, n));
return f(m,n.subtract(BigInteger.ONE));
}
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
BigInteger []q=null;
q= new BigInteger[150];
q[1]=BigInteger.ONE;
for(int i=2;i<=100;i++)
q[i]=f(BigInteger.valueOf(i),(BigInteger.valueOf(i)).subtract(BigInteger.ONE));
while(scan.hasNext())
{int m = scan.nextInt();
//if((m.compareTo(BigInteger.valueOf(1)))==0)
// System.out.println("1");
//else
System.out.println(q[m]);
}
}
}
Java还是不是太熟练,,,,,,
这个我知道得到有三种解法
相关文章
- 暂无相关文章
用户点评