TopCoder - SRM 425 DIV 2: 250
今回は、数値配列の中で、その数値配列内の数値を含まない最小公約数を求める問題。コードはいつものとこ。皆さんのコードを見てたら、たいていの方が、ただ単にmax * minでだしてた・・・。それで良いのかwww?
import java.util.Arrays; public class InverseFactoring { public int getTheNumber(int[] factors) { Arrays.sort(factors); int lcm = factors[0]; for (int i=1; i<factors.length; i++) { lcm = getLcm(lcm, factors[i]); } if (lcm == factors[factors.length - 1]) { return lcm * 2; } else { return lcm; } } int getGcd (int x, int y) { int z=x%y; if(z==0) { return y; } else { return getGcd(y, z); } } int getLcm (int x, int y) { return x/getGcd(x,y)*y; } }
コメント
コメントを投稿