public static void Main()
Console.WriteLine("Hello World");
Console.WriteLine(CalculateSmallestAngleBetweenClockHands(6, 45));
public static double CalculateSmallestAngleBetweenClockHands(int hour, int minutes)
const double DegreesPerHour = 30;
const double DegreesPerMinute = 6;
const double MinutesPerHour = 60;
const double DegreesInHalfCircle = 180;
const double DegreesInCircle = 360;
var hourHandAngle = hour * DegreesPerHour + minutes / MinutesPerHour * DegreesPerHour;
var minuteHandAngle = minutes * DegreesPerMinute;
var angleBetweenClockHands = Math.Abs(hourHandAngle - minuteHandAngle);
var isAngleMoreThanAHalfCircle = angleBetweenClockHands > DegreesInHalfCircle;
var smallestAngleBetweenClockHands = isAngleMoreThanAHalfCircle ? DegreesInCircle - angleBetweenClockHands : angleBetweenClockHands;
return smallestAngleBetweenClockHands;