我只是在尋找維基百科頁面,我發現這個Sierpinski triangle程序打印謝爾賓斯基三角形
我想創建由java
這個三角形,c
,scala
等
1
111
11111
1111111
111111111
11111111111
1111111111111
111111111111111
1 1
111 111
11111 11111
1111111 1111111
111111111 111111111
11111111111 11111111111
1111111111111 1111111111111
111111111111111 111111111111111
1 1
111 111
11111 11111
1111111 1111111
111111111 111111111
11111111111 11111111111
1111111111111 1111111111111
111111111111111 111111111111111
1 1 1 1
111 111 111 111
11111 11111 11111 11111
1111111 1111111 1111111 1111111
111111111 111111111 111111111 111111111
11111111111 11111111111 11111111111 11111111111
1111111111111 1111111111111 1111111111111 1111111111111
111111111111111 111111111111111 111111111111111 111111111111111
我只是創建簡單的程序一樣我們在c
中創建簡單模式我在scala
中編寫了這個
def ft(n: Int) = {
for (i <- 1 to n) {
for (j <- n to i by -1) {
print(" ")
}
for (k <- 1 to 2 * i - 1) {
print("1")
}
print("\n")
}
}
打印此
1
111
11111
1111111
111111111
這:
def triangle = {
for (i <- 1 to 5) {
for (j <- 1 to 5) {
if (j <= i)
print("1")
else
print(" ")
}
for (j <- 5 to 1 by -1) {
if (j <= i)
print("1");
else
print(" ");
}
print("\n");
}
}
如何創建此謝爾賓斯基三角形?
只是給我想法來解決這個問題?
您已標記5種語言。您想使用哪種語言解決方案? –
我只是尋找'邏輯'來解決這個三角形。您可以使用任何語言提供 –
邏輯是使用遞歸。每個三角形可以分成四個小三角形。讓中間的一個空白,並在其他三個上遞歸地調用自己。在某個任意點停止遞歸併使用你的例程繪製正常的三角形。 – john