Trang chủ » Blog » Coding Dojo » Kata FizzBuzz

Kata FizzBuzz

bởi CodeGym | 09/12/2023 10:30 | Blog | Coding Dojo

Michael Feathers và EmilyBache đã từng biểu diễn bài Kata này trong 4 phút tại Agile2008 khi thi đấu trong chương trình “Programming with the stars” trên ngôn ngữ Python.

Cấp độ của Kata: Dùng để dạy TDD, BabySteps rất tốt.

Mô tả bài toán

Hãy tưởng tượng. Bạn là một đứa trẻ 11 tuổi và chỉ còn 5 phút là hết giờ học, thầy dạy Toán quyết định đưa ra một trò chơi vui vẻ cho lớp. Thầy giáo giải thích luật chơi như sau: “Thầy sẽ lần lượt chỉ vào mỗi bạn và em đó phải nói ra số tiếp theo của chuỗi số, bắt đầu từ 1. Tuy nhiên, nếu em gặp phải một số chia hết cho 3 thì phải nói “Fizz”, và nếu số đó chia hết cho 5 thì phải nói “Buzz”, thay vì nói ra số đó.” Sau đó, thầy giáo lần chỉ vào tất cả các bạn trong lớp, mỗi người vui vẻ hô to: “one!”, “two!”, “Fizz!”, “four!”, “Buzz!”, … rồi thầy giáo bắt đầu chỉ đến bạn, chăm chú nhìn vào bạn… thời gian ngừng lại, miệng bạn khô khốc, lòng bàn tay rịn đầy mồ hôi cho đến khi bạn nói ra được từ “Fizz”. Thầy giáo chỉ tay sang người khác và bạn đã tránh được ngày tận thế.

Vì vậy để tránh bị xấu hổ trước mặt lớp mình, bạn phải in ra danh sách đầy đủ của trò FizzBuzz để biết rõ mình cần nói gì khi bị chỉ vào. Lớp bạn có 33 học sinh và thầy giáo có thể chỉ 3 lượt trước khi hết giờ. Thứ Năm tới là có tiết Toán rồi. Bắt tay vào code thôi!

Hãy viết một chương trình in ra các số từ 1 đến 100. Nhưng nếu số chia hết cho 3 thì in ra “Fizz”, 5 thì in ra “Buzz” thay vì in ra số đó. Và nếu số đó chia hết cho cả 3 và 5 thì in ra chữ “FizzBuzz”.

Ví dụ:

1

2

Fizz

4

Buzz

Fizz

7

8

Fizz

Buzz

11

Fizz

13

14

FizzBuzz

16

17

Fizz

19

Buzz

98

Fizz

Buzz

Bước 2 – bổ sung yêu cầu mới

  • Một số là “Fizz” nếu nó chia hết cho 3 hoặc chứa số 3
  • Một số là “Buzz” nếu nó chia hết cho 5 hoặc chứa số 5

Nguồn Kata: http://codingdojo.org/kata/FizzBuzz/

Download - Giáo trình thuật toán

15 + 12 =

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

11 + 13 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM