-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathZillion.java
64 lines (61 loc) · 1.62 KB
/
Zillion.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class Zillion {
private int[] var;
public Zillion(int size) {
var = new int [size];
}
public void increment() {
var[0] ++;
checkTens(0);
}
private void checkTens(int point) {
if(point<var.length&&var[point]==10) {
var[point]-=10;
if(point+1<var.length)
var[point+1]++;
checkTens(point+1);
}
}
public String toString() {
String temp = "";
int i = var.length;
while(i-->0) {
temp += var[i];
}
return temp;
}
public static void main(String[] args) {
Zillion z = new Zillion(2); System.out.println(z); // 00 2 points
z.increment(); System.out.println(z); // 01 2 points
z.increment(); System.out.println(z); // 02 2 points
z.increment();
z.increment();
z.increment();
z.increment();
z.increment();
z.increment();
z.increment();
z.increment();
System.out.println(z); // 10 2 points
z.increment();
System.out.println(z); // 11 2 points
z = new Zillion(4);
System.out.println(z); // 0000 2 points
for (int j = 1; j <= 999; j += 1) {
z.increment();
}
System.out.println(z); // 0999 2 points
z.increment();
System.out.println(z); // 1000 2 points
for (int j = 1; j <= 999; j += 1) { z.increment(); } System.out.println(z); // 1999 2 points
z.increment();
System.out.println(z); // 2000 2 points
for (int j = 1; j <= 7999; j += 1) {
z.increment();
}
System.out.println(z); // 9999 2 points
z.increment();
System.out.println(z); // 0000 2 points
z.increment();
System.out.println(z); // 0001 1 point
}
}