ziglings/exercises/017_quiz2.zig

29 lines
893 B
Zig
Raw Permalink Normal View History

2021-01-18 20:18:49 -05:00
//
// Quiz time again! Let's see if you can solve the famous "Fizz Buzz"!
//
// "Players take turns to count incrementally, replacing
// any number divisible by three with the word "fizz",
2021-03-14 01:26:52 -05:00
// and any number divisible by five with the word "buzz".
2021-01-18 20:18:49 -05:00
// - From https://en.wikipedia.org/wiki/Fizz_buzz
//
// Let's go from 1 to 16. This has been started for you, but there
// are some problems. :-(
2021-01-18 20:18:49 -05:00
//
2024-01-10 02:52:58 -05:00
const std = @import("std");
2021-01-18 20:18:49 -05:00
2024-01-10 02:52:58 -05:00
pub fn main() void {
2021-01-18 20:18:49 -05:00
var i: u8 = 1;
2023-06-22 05:41:41 -04:00
const stop_at: u8 = 16;
2021-01-18 20:18:49 -05:00
// What kind of loop is this? A 'for' or a 'while'?
2024-01-10 02:52:58 -05:00
while (i <= stop_at) : (i += 1) {
2021-01-18 20:18:49 -05:00
if (i % 3 == 0) std.debug.print("Fizz", .{});
if (i % 5 == 0) std.debug.print("Buzz", .{});
2021-02-15 16:55:44 -05:00
if (!(i % 3 == 0) and !(i % 5 == 0)) {
2024-01-10 02:52:58 -05:00
std.debug.print("{}", .{i});
2021-01-18 20:18:49 -05:00
}
std.debug.print(", ", .{});
}
2021-02-15 16:55:44 -05:00
std.debug.print("\n", .{});
2021-01-18 20:18:49 -05:00
}