Java程式顯示Floyd三角形
在這篇文章中,我們將瞭解如何使用Java顯示Floyd三角形。Floyd三角形是一個流行的直角三角形陣列,由自然陣列成。它的形成是從三角形頂部的數字1開始,然後隨著向下移動到三角形的行,每個後續數字增加1。
第一行只包含一個數字1,並且每一後續行都比前一行多一個數字。三角形有n行,其中n可以是任何正整數。
三角形中的值的總數將是前n個自然數的和,可以使用公式S = n/2 * (2a + (n-1) d)計算,其中S是級數的和,n是級數中的項數,a是級數中的第一項,d是項之間的公差。
然而,在Floyd三角形中,第一項始終為1,公差為1,因此我們可以將此公式簡化為
S= n/2 * (2 + n – 1) = n/2 * (n+1)
因此,具有n行的Floyd三角形中的值的數目為n/2 * (n+1)。
如果有5行,即n=5,則三角形中的值的總數為
5/2 * (5+1) = 15
問題陳述
編寫一個Java程式來顯示Floyd三角形。
輸入
rows = 5 (Number of rows n)
輸出
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
Floyd三角形的演算法
以下是顯示Floyd三角形的演算法:
- 輸入行數n。
- 將變數number初始化為1。
- 對於從1到n的每一行i,執行以下操作
- 對於行中的每個元素j(從1到i),執行以下操作
- i. 列印number的當前值。
- ii. 將number加1。
- 列印換行符以移動到下一行。
不同的方法
以下是顯示Floyd三角形的不同方法:
使用for迴圈
For迴圈是一種控制流語句,它重複執行一組指令。它包含3個部分,分別是初始化語句、布林條件和更新語句。執行迴圈體後,將執行更新語句,並再次檢查條件,直到布林條件變為false。
示例
下面給出使用巢狀for迴圈顯示Floyd三角形的Java實現:
public class FloydTriangle {
public static void main(String[] args) {
// declare the number of rows
int rows = 5;
int num = 1;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(num + " ");
num++;
}
System.out.println();
}
}
}
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
使用while迴圈
While迴圈是另一種形式的控制流語句,它根據預定義的布林條件重複執行,並在條件為false時終止自身。
示例
public class FloydTriangle {
public static void main(String[] args) {
int rows = 5;
int number = 1;
int i = 1;
while (i <= rows) {
int j = 1;
while (j <= i) {
System.out.print(number + " ");
number++;
j++;
}
System.out.println();
i++;
}
}
}
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
使用do-while迴圈
一個do-while迴圈與while迴圈非常相似,只是它至少執行一次。這是因為條件在每次迭代結束時進行測試。如果條件為true,迴圈將繼續,並在條件為false時終止自身。這裡,行數預定義為10。
示例
public class FloydTriangle {
public static void main(String[] args) {
int rows = 10;
int number = 1;
int i = 1;
do {
int j = 1;
do {
System.out.print(number + " ");
number++;
j++;
} while (j <= i);
System.out.println();
i++;
} while (i <= rows);
}
}
輸出
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
結論
總之,Floyd三角形是由自然陣列成的直角三角形,每一行包含的元素數量遞增。您可以使用不同型別的迴圈(如for、while和do-while迴圈)在Java中生成Floyd三角形。每個迴圈版本都遵循一個簡單的邏輯:從1開始,在遍歷每一行時列印並遞增數字。此過程持續進行,直到三角形以所需的行數形成,使實現既簡單又高效。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP