From 55ad7c32f2d534b1fbd438204d21738f958c51a5 Mon Sep 17 00:00:00 2001 From: Dave Gauer Date: Tue, 9 Feb 2021 18:36:57 -0500 Subject: Moved exercises to exercises because exercises --- exercises/19_functions2.zig | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 exercises/19_functions2.zig (limited to 'exercises/19_functions2.zig') diff --git a/exercises/19_functions2.zig b/exercises/19_functions2.zig new file mode 100644 index 0000000..4d195a7 --- /dev/null +++ b/exercises/19_functions2.zig @@ -0,0 +1,31 @@ +// +// Now let's create a function that takes a parameter. Here's an +// example that takes two parameters. As you can see, parameters +// are declared just like an other types ("name": "type"): +// +// fn myFunction( number: u8, is_lucky: bool ) { +// ... +// } +// +const std = @import( "std" ); + +pub fn main() void { + std.debug.print("Powers of two: {} {} {} {}\n", .{ + twoToThe(1), + twoToThe(2), + twoToThe(3), + twoToThe(4), + }); +} + +// +// Please give this function the correct input parameter(s). +// You'll need to figure out the parameter name and type that we're +// expecting. The output type has already been specified for you. +// +fn twoToThe(???) u32 { + return std.math.pow(u32, 2, my_number); + // std.math.pow(type, a, b) takes a numeric type and two numbers + // of that type and returns "a to the power of b" as that same + // numeric type. +} -- cgit v1.2.3-70-g09d2