37 lines
1004 B
Python
37 lines
1004 B
Python
limit = 25
|
|
print("package net.ahines.DeepNested;")
|
|
print("class DeepNested {")
|
|
print("\tpublic static void main(String args[]) {")
|
|
print("\t\tNested1 nested1 = new Nested1(0.0);")
|
|
print("\t}")
|
|
|
|
class_name = "Nested%d"
|
|
class_header = "public static class %s {"
|
|
|
|
for i in range(1, limit):
|
|
tab_str = "\t"
|
|
for x in range(0, i):
|
|
tab_str += "\t"
|
|
|
|
nested_name = class_name % i
|
|
nested_header = class_header % nested_name
|
|
print(tab_str + nested_header)
|
|
print(tab_str + "\t" + nested_name + "(double sum) {")
|
|
print(tab_str + "\t\t" + ("sum += ((-1)^(%d+1)) / (2.0 * %d - 1.0);" % (i, i))) # copied from stack overflow
|
|
|
|
if (i == limit-1):
|
|
print(tab_str + "\t\tSystem.out.println(sum);")
|
|
else:
|
|
print(tab_str + "\t\tNested%d test%d = new %s(sum);" % (i+1, i, class_name % (i+1)))
|
|
print(tab_str + "}")
|
|
print("\n")
|
|
|
|
for i in range(limit, 1, -1):
|
|
tab_str = ""
|
|
for x in range(0, i):
|
|
tab_str += "\t"
|
|
|
|
print(tab_str + "}")
|
|
|
|
print("}")
|