From 0874ace3e9a8713371df0b2f1a648d106d406f17 Mon Sep 17 00:00:00 2001 From: "go-interview-practice-bot[bot]" <230190823+go-interview-practice-bot[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 02:53:49 +0000 Subject: [PATCH] Add solution for Challenge 18 --- .../submissions/kiramux/solution-template.go | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 challenge-18/submissions/kiramux/solution-template.go diff --git a/challenge-18/submissions/kiramux/solution-template.go b/challenge-18/submissions/kiramux/solution-template.go new file mode 100644 index 00000000..92661bda --- /dev/null +++ b/challenge-18/submissions/kiramux/solution-template.go @@ -0,0 +1,41 @@ +package main + +import ( + "fmt" + "math" +) + +func main() { + // Example usage + celsius := 25.0 + fahrenheit := CelsiusToFahrenheit(celsius) + fmt.Printf("%.2f°C is equal to %.2f°F\n", celsius, fahrenheit) + + fahrenheit = 68.0 + celsius = FahrenheitToCelsius(fahrenheit) + fmt.Printf("%.2f°F is equal to %.2f°C\n", fahrenheit, celsius) +} + +// CelsiusToFahrenheit converts a temperature from Celsius to Fahrenheit +// Formula: F = C × 9/5 + 32 +func CelsiusToFahrenheit(celsius float64) float64 { + // TODO: Implement this function + // Remember to round to 2 decimal places + f := Round(celsius * 9.0 / 5.0 + 32.0, 2) + return f +} + +// FahrenheitToCelsius converts a temperature from Fahrenheit to Celsius +// Formula: C = (F - 32) × 5/9 +func FahrenheitToCelsius(fahrenheit float64) float64 { + // TODO: Implement this function + // Remember to round to 2 decimal places + c := Round((fahrenheit - 32) * 5.0 / 9.0, 2) + return c +} + +// Round rounds a float64 value to the specified number of decimal places +func Round(value float64, decimals int) float64 { + precision := math.Pow10(decimals) + return math.Round(value*precision) / precision +}