Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
44
Task/Sierpinski-triangle/Java/sierpinski-triangle.java
Normal file
44
Task/Sierpinski-triangle/Java/sierpinski-triangle.java
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
public class SierpinskiTriangle {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(getSierpinskiTriangle(4));
|
||||
}
|
||||
|
||||
private static final String getSierpinskiTriangle(int n) {
|
||||
if ( n == 0 ) {
|
||||
return "*";
|
||||
}
|
||||
|
||||
String s = getSierpinskiTriangle(n-1);
|
||||
String [] split = s.split("\n");
|
||||
int length = split.length;
|
||||
|
||||
// Top triangle
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String top = buildSpace((int)Math.pow(2, n-1));
|
||||
for ( int i = 0 ; i < length ;i++ ) {
|
||||
sb.append(top);
|
||||
sb.append(split[i]);
|
||||
sb.append("\n");
|
||||
}
|
||||
|
||||
// Two triangles side by side
|
||||
for ( int i = 0 ; i < length ;i++ ) {
|
||||
sb.append(split[i]);
|
||||
sb.append(buildSpace(length-i));
|
||||
sb.append(split[i]);
|
||||
sb.append("\n");
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static String buildSpace(int n) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
while ( n > 0 ) {
|
||||
sb.append(" ");
|
||||
n--;
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue