Tam giác sao trong PHP
NỘI DUNG BÀI VIẾT
Ở bài viết trước mình đã giới thiệu về khái niệm vòng lặp trong PHP. Ở bài này chúng ta hãy cùng tập luyện cách sử dụng vòng lặp để vẽ ra tam giác sao nhé ^^
Tam giác cân
Đầu tiên chúng ta hãy cùng nhau bắt tay vào giải quyết bài toán vẽ tam giác đều bằng các kí tự * nhé
Ý tưởng: Chúng ta sẽ vẽ tam giác này với 1 kí tự * ở đỉnh. Sau đó sử dụng vòng lặp, sau mỗi lần lặp số lượng kí tự * sau mỗi lần lặp sẽ tăng lên 2 và vẽ thêm các khoảng trắng. Và tiếp tục lặp và vẽ cho tới khi số lượng kí tự * bằng 20 (hoặc bạn có thể để một số khác)
Dựa trên ý tưởng trên chúng ta có đoạn code như sau:
<?php
$h = 20; //Số lượng kí tự * ở cạnh đáy
$p = 0;
$n = 0;
$s = 0;
for ($i = 1; $i <= $h; $i += 2) {
$s = $i; // vòng lặp thứ i sẽ có i kí tự sao được hiển thị
$n = floor(($h - $s) / 2);
for ($j = 0; $j < $n; $j++) {
if ($j % 2 == 1) {
echo " ";
}
echo " ";
}
for ($j = 0; $j < $i; $j++) {
echo " *";
}
echo '</br>';
}
?>
Tam giác sao vuông cân
Ở phần vẽ tam giác vuông bằng hình sao chúng ta sẽ chia làm 2 loại bài toán
Bài toán thứ nhất vẽ tam giác vuông cân ngược
Ý tưởng: Chúng ta sẽ vẽ cạnh đáy với 5 kí tự * trước và sau mỗi lần lặp sẽ giảm đi một kí tự *
Code:
<?php
$kq = '';
for ($i = 5; $i > 0; $i--) {
for ($j = 0; $j < $i; $j++) {
$kq .= '*';
}
$kq .= '</br>';
}
echo $kq;
?>
Bài toán thứ nhất vẽ tam giác vuông cân thuận
Ý tưởng: Chúng ta sẽ vẽ đỉnh trước và sau mỗi lần lặp sẽ tăng thêm một kí tự *
Code:
<?php
$kq = '';
for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j <= $i; $j++) {
$kq .= '*';
}
$kq .= '<br>';
}
echo $kq;
?>
Kết luận
Vậy là chúng ta đã đi các hình tam giác sao cơ bản bằng cách sử dụng vòng lặp. Ngoài ra nếu các bạn muốn tìm hiểu nhiều hơn về các thuật toán có thể truy cập đường link sau và đăng ký một tài khoản để có thể luyện tập được nhiều thuật toán khác như là thuật toán sắp xếp, tìm kiếm,…
Trả lời