UglyNumbers 감 ¶
글리 규 다. 것로 무나 많 고나
규 다(로 는는 모)고 결론.(다면 0.1내로 답 나것므로 '4내로'라는 단 듯..)
단 n 글리 들 글리 2나 3나 5를 루다는 것 가고 1부
n 까 각각 2,3,5를 나다.
규 다(로 는는 모)고 결론.(다면 0.1내로 답 나것므로 '4내로'라는 단 듯..)
단 n 글리 들 글리 2나 3나 5를 루다는 것 가고 1부
n 까 각각 2,3,5를 나다.
가 10만 글리가 44314690598262522787512975360 나든데
문 값과 무 가 나는듯.. 디가 못되는 모르겠다.
문 값과 무 가 나는듯.. 디가 못되는 모르겠다.
¶
~cpp /* * Created on 2005. 3. 30 */ /** * @author 대 공과 01 동 */ import java.util.*; import java.math.*; public class UglyNumbers { public ArrayList arr; /** * n arr 되 복값 면 무것 . * @param n double 값 * @return int 드 1:료 -1:미 값 1:맨 막 가 */ public int insert(double n) { for (int i = 0; i < arr.size(); i++) { if (((Double) arr.get(i)).doubleValue() > n) { arr.add(i, new Double(n)); return 1; } else if (((Double) arr.get(i)).doubleValue() == n) return -1; } arr.add(new Double(n)); return 0; } public int start() { int index = 1; arr = new ArrayList(); arr.add(new Double(1.0)); while (index != 1500) { insert(((Double) arr.get(0)).doubleValue() * 2.0); insert(((Double) arr.get(0)).doubleValue() * 3.0); insert(((Double) arr.get(0)).doubleValue() * 5.0); arr.remove(0); index++; } System.out.println("The 1500'th ugly number is "+new BigDecimal(((Double)arr.get(0)).doubleValue()));// + " " + arr.size()); return 0; } public static void main(String[] args) { UglyNumbers ug = new UglyNumbers(); ug.start(); } }