U E D R , A S I H C RSS

Ugly Numbers/이동현

UglyNumbers

.
( 는 모) .(면 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();
    }
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:20
Processing time 0.0089 sec