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();
}
}










