[Video Summary] FizzBuzz with Swift - Six Ways!
Mô tả nhanh
Video này trình bày sáu cách khác nhau để giải quyết bài toán FizzBuzz kinh điển trong lập trình bằng ngôn ngữ Swift, bao gồm cả cách dùng if else
, ternary operator, tuples, switch case
và cả cách viết ngắn gọn trên một dòng.
Video
Mô tả chi tiết
Video này trình bày sáu cách khác nhau để giải quyết bài toán FizzBuzz kinh điển trong lập trình bằng ngôn ngữ Swift, bao gồm cả cách dùng if else
, ternary operator, tuples, switch case
và cả cách viết ngắn gọn trên một dòng.
Các cách giải bài toán FizzBuzz được trình bày trong video:
-
Sử dụng
if
,else if
:- Duyệt qua các số từ 1 đến 100.
- Kiểm tra điều kiện chia hết cho 3 và 5 trước. Nếu chia hết cho cả hai, in ra "FizzBuzz".
- Nếu không, kiểm tra chia hết cho 3. Nếu chia hết, in ra "Fizz".
- Nếu không, kiểm tra chia hết cho 5. Nếu chia hết, in ra "Buzz".
- Nếu không chia hết cho cả 3 và 5, in ra số đó.
- Lưu ý: cần kiểm tra điều kiện chia hết cho cả 3 và 5 trước, vì
if else if
sẽ dừng lại khi gặp điều kiện đúng đầu tiên.
-
Xây dựng chuỗi:
- Tạo 3 chuỗi rỗng, tương ứng cho "Fizz", "Buzz", và kết quả cuối cùng.
- Nếu số chia hết cho 3, gán "Fizz" vào chuỗi tương ứng.
- Nếu số chia hết cho 5, gán "Buzz" vào chuỗi tương ứng.
- Nếu cả hai chuỗi "Fizz" và "Buzz" vẫn rỗng, in ra số hiện tại (đã chuyển thành chuỗi).
-
Sử dụng Toán tử Ternary:
- Nén code của phương pháp xây dựng chuỗi ở trên.
- Sử dụng toán tử ternary
condition ? valueIfTrue : valueIfFalse
để kiểm tra và gán "Fizz" hoặc "" cho chuỗi Fizz và tương tự cho "Buzz". - Sau đó, kiểm tra nếu cả chuỗi Fizz và Buzz đều rỗng thì in ra số (đã convert sang string), ngược lại in ra chuỗi Fizz + Buzz.
- Sử dụng toán tử ternary
- Nén code của phương pháp xây dựng chuỗi ở trên.
-
Một dòng code:
- Sử dụng một dòng code duy nhất trong vòng lặp
for
. - In ra "Fizz" nếu chia hết cho 3, "Buzz" nếu chia hết cho 5, và in ra số nếu không chia hết cho cả 3 và 5 (nếu không thì in ra empty string).
- Cách này ngắn gọn nhưng khó đọc.
- Sử dụng một dòng code duy nhất trong vòng lặp
-
forEach
và Closure:- Sử dụng phương thức
forEach
trên một range từ 1 đến 100. - In ra theo logic tương tự như ở phần một dòng code.
- Cách này rất ngắn gọn nhưng khó theo dõi.
- Sử dụng phương thức
-
Sử dụng
switch case
và Tuples:- Tạo một tuple chứa phần dư khi chia số cho 3 và 5.
- Sử dụng
switch case
để kiểm tra các trường hợp:- Cả hai phần tử trong tuple bằng 0 (chia hết cho 3 và 5): in ra "FizzBuzz".
- Phần tử thứ hai bằng 0 (chia hết cho 5): in ra "Buzz".
- Phần tử thứ nhất bằng 0 (chia hết cho 3): in ra "Fizz".
- Các trường hợp còn lại: in ra số đó.
Video kết luận rằng có nhiều cách để giải quyết bài toán FizzBuzz bằng Swift, và khuyến khích người xem luyện tập và chia sẻ các cách giải khác hay hơn.
Chúc bạn học tập hiệu quả và có nhiều ý tưởng sáng tạo!