Mô tả chương trình
Tam giác Floyd là mảng tam giác vuông của các số tự nhiên, dùng trong giáo dục khoa học máy tính. Được đặt tên theo Robert Floyd. Được định nghĩa bằng cách điền các hàng với các số liên tiếp, bắt đầu từ 1 ở góc trên bên trái.
Tam giác Floyd: Tam giác Floyd ngược: 1 15 14 13 12 11 2 3 10 9 8 7 4 5 6 6 5 4 7 8 9 10 3 2 1 11 12 13 14 15 (ví dụ 5 hàng)
Thuật toán
In tam giác Floyd:
Nhập số hàng In giá trị 1 cho hàng 1 In 2 giá trị 2, 3 cho hàng tiếp theo In 3 giá trị 4, 5, 6 cho hàng sau Lặp lại cho đến số hàng chỉ định
In tam giác Floyd ngược:
Nhập số hàng In các giá trị theo thứ tự ngược như tam giác Floyd ngược
Ví dụ mã nguồn
/* Chương trình in tam giác Floyd ngược */
#include <stdio.h>
int main() {
int r, c = 1;
int rows, revrows, r1, c1, d;
// clrscr();
printf("Nhap so hang de in tam giac Floyd: ");
scanf("%d", &rows);
printf("\n");
for (r = 1; r <= (rows * (rows + 1)) / 2; r++) {
printf("%d ", r);
if (r == (c * (c + 1)) / 2) {
printf("\n");
c++;
}
}
printf("\n\n");
/* In tam giác Floyd ngược */
printf("Nhap so hang de in tam giac Floyd nguoc: ");
scanf("%d", &revrows);
printf("\n\n");
printf("Tam giac Floyd nguoc\n\n");
d = (revrows * (revrows + 1)) / 2;
for (r1 = revrows; r1 >= 1; r1--) {
for (c1 = r1; c1 >= 1; c1--, d--) {
printf("%4d", d);
}
printf("\n");
}
// getch();
return 0;
}
Kết quả đầu ra
