NYOJ517 最小公倍数

2014-11-24 11:40:48 · 作者: · 浏览: 1

原题链接

求出1到100之间的所有LCM,存到数组里,思路是:1到n的最小公倍数等于1到n-1的最小公倍数与n的最小公倍数,so,可以递推出遍历所有答案了。

import java.util.Scanner;
import java.math.BigInteger;

public class Main{
	public static void main(String[] args){
		Scanner cin = new Scanner(System.in);
		int n, i;
		BigInteger[] prime = new BigInteger[101];
		prime[1] = BigInteger.ONE;
		for(i = 2; i <= 100; ++i)
			prime[i] = prime[i - 1].multiply(BigInteger.valueOf(i)).divide(prime[i - 1].gcd(BigInteger.valueOf(i)));
		while(cin.hasNext()){
			n = cin.nextInt();
			System.out.println(prime[n]);
		}
	}	
}

796689 长木 最小公倍数 Accepted 118 1107 java 04-04 19:53:40