跳到主要内容

Kotlin 代码创建金字塔和图案

源代码列表
使用*、数字和字符打印三角形的代码
使用*和数字打印倒三角形的代码
打印全金字塔的代码
打印帕斯卡三角形的代码
打印弗洛伊德三角形的代码

这里是等效的Java代码:Java程序:创建金字塔和图案

使用*、数字和字符打印三角形的程序

示例1:使用*打印半金字塔

*
* *
* * *
* * * *
* * * * *

源代码

fun main(args: Array<String>) {
val rows = 5

for (i in 1..rows) {
for (j in 1..i) {
print("* ")
}
println()
}
}

示例2:使用数字打印半金字塔

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

源代码

fun main(args: Array<String>) {
val rows = 5

for (i in 1..rows) {
for (j in 1..i) {
print("$j ")
}
println()
}
}

示例3:使用字母打印半金字塔

A
B B
C C C
D D D D
E E E E E

源代码

fun main(args: Array<String>) {
val last = 'E'
var alphabet = 'A'

for (i in 1..last - 'A' + 1) {
for (j in 1..i) {
print("$alphabet ")
}
++alphabet

println()
}
}

使用*和数字打印倒三角形的程序

示例4:使用*打印倒三角形

* * * * *
* * * *
* * *
* *
*

源代码

fun main(args: Array<String>) {
val rows = 5

for (i in rows downTo 1) {
for (j in 1..i) {
print("* ")
}
println()
}
}

示例5:使用数字打印倒三角形

1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

源代码

fun main(args: Array<String>) {
val rows = 5

for (i in rows downTo 1) {
for (j in 1..i) {
print("$j ")
}
println()
}
}

使用*和数字显示金字塔和倒金字塔的程序

示例6:使用*打印全金字塔

        *
* * *
* * * * *
* * * * * * *
* * * * * * * * *

源代码

fun main(args: Array<String>) {
val rows = 5
var k = 0

for (i in 1..rows) {
for (space in 1..rows - i) {
print(" ")
}

while (k != 2 * i - 1) {
print("* ")
++k
}

println()
k = 0
}
}

示例7:使用数字打印金字塔的程序


1
2 3 2
3 4 5 4 3
4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5

源代码

fun main(args: Array<String>) {
val rows = 5
var k = 0
var count = 0
var count1 = 0

for (i in 1..rows) {
for (space in 1..rows - i) {
print(" ")
++count
}

while (k != 2 * i - 1) {
if (count <= rows - 1) {
print((i + k).toString() + " ")
++count
} else {
++count1
print((i + k - 2 * count1).toString() + " ")
}

++k
}
k = 0
count = k
count1 = count

println()
}
}

示例8:使用*打印倒置的金字塔


* * * * * * * * *
* * * * * * *
* * * * *
* * *
*

源代码

fun main(args: Array<String>) {
val rows = 5

for (i in rows downTo 1) {

for (space in 1..rows - i) {
print(" ")
}

for (j in i..2 * i - 1) {
print("* ")
}

for (j in 0..i - 1 - 1) {
print("* ")
}

println()
}
}

示例9:打印帕斯卡三角形

           1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

源代码

fun main(args: Array<String>) {
val rows = 6
var coef = 1

for (i in 0..rows - 1) {

for (space in 1..rows - i - 1) {
print(" ")
}

for (j in 0..i) {
if (j == 0 || i == 0)
coef = 1
else
coef = coef * (i - j + 1) / j

System.out.printf("%4d", coef)
}

println()
}
}

示例10:打印弗洛伊德三角形

1
2 3
4 5 6
7 8 9 10

源代码

fun main(args: Array<String>) {
val rows = 4
var number = 1

for (i in 1..rows) {

for (j in 1..i) {
print("$number ")
++number
}

println()
}
}