## December 30, 2015

### Euler Problem 31 ...

It's just a integer partition.
public class Test {
static int count = 0;

public static void main(String[] args) {
partition(200, 200);
System.out.println(count);
}

public static void partition(int n, int max) {
if (n == 0) {
count++;
return;
}

for (int i = Math.min(max, n); i >= 1; i--) {
if (i == 200 || i == 100 || i == 50 || i == 20
|| i == 10 || i == 5 || i == 2 || i == 1)
partition(n - i, i);
}
}

}

73682
Job Finished in 0.02 seconds

정수론에서 나오는 자연수 분할 문제 ..

## December 29, 2015

### Euler 40 for Java: Finding the nth digit of the fractional part of the irrational number

Simply, the Integer array can be used to write digits.
public class Test {
static int[] x = new int[1000000];
static int index = 0;
public static void main(String[] args) {
for (int i = 1; i < x.length; i++) {
if(index >= x.length)
break;

append(i);
}

System.out.println(d(1) * d(10) * d(100) * d(1000) * d(10000) * d(100000) * d(1000000));
}

private static int d(int i) {
return x[i - 1];
}

private static void append(int n) {
String a = String.valueOf(n);
for(int i = 0; i < a.length(); i++) {
if(index >= x.length)
break;

x[index] = Integer.valueOf(String.valueOf(a.charAt(i)));
index++;
}
}
}