Find angle between hour and minute hand
To find the angle between the hour and minute hand on an analog clock, you can use a simple mathematical formula. Here are the steps to write a program that calculates this angle:
- Take input from the user for the current time in the format of hours and minutes.
- Calculate the position of the hour hand. Each hour on the clock represents 30 degrees, so you can multiply the current hour by 30 to get the position of the hour hand. However, if the hour is greater than 12, subtract 12 before multiplying by 30.
- Calculate the position of the minute hand. Each minute on the clock represents 6 degrees, so you can multiply the current minute by 6 to get the position of the minute hand.
- Calculate the angle between the hour and minute hand. To do this, you can subtract the position of the hour hand from the position of the minute hand. However, if the result is greater than 180 degrees, subtract it from 360 degrees instead.
- Output the result to the user.
Code Solution
/*
Java program for
Find angle between hour and minute hand
*/
public class Angle
{
// Calculate angle by given position
public int angleValue(int h, int m)
{
int x = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
public void findAngle(int hour, int minute)
{
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
int h = (hour * 360) / 12 + (minute * 360) / (12 * 60);
// Calculate position of minute
int m = (minute * 360) / (60);
int result = angleValue(h, m);
// Display given hour and minute
System.out.println(" Given hour : " + hour);
System.out.println(" Given minute : " + minute);
// Display calculate angle
System.out.println(" Angle : " + result);
}
public static void main(String[] args)
{
Angle task = new Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task.findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task.findAngle(7, 20);
}
}
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
// Include header file
#include <iostream>
using namespace std;
/*
C++ program for
Find angle between hour and minute hand
*/
class Angle
{
public:
// Calculate angle by given position
int angleValue(int h, int m)
{
int x = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
void findAngle(int hour, int minute)
{
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
int h = (hour *360) / 12 + (minute *360) / (12 *60);
// Calculate position of minute
int m = (minute *360) / (60);
int result = this->angleValue(h, m);
// Display given hour and minute
cout << " Given hour : " << hour << endl;
cout << " Given minute : " << minute << endl;
// Display calculate angle
cout << " Angle : " << result << endl;
}
};
int main()
{
Angle *task = new Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task->findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task->findAngle(7, 20);
return 0;
}
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
// Include namespace system
using System;
/*
Csharp program for
Find angle between hour and minute hand
*/
public class Angle
{
// Calculate angle by given position
public int angleValue(int h, int m)
{
int x = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
public void findAngle(int hour, int minute)
{
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
int h = (hour * 360) / 12 + (minute * 360) / (12 * 60);
// Calculate position of minute
int m = (minute * 360) / (60);
int result = this.angleValue(h, m);
// Display given hour and minute
Console.WriteLine(" Given hour : " + hour);
Console.WriteLine(" Given minute : " + minute);
// Display calculate angle
Console.WriteLine(" Angle : " + result);
}
public static void Main(String[] args)
{
Angle task = new Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task.findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task.findAngle(7, 20);
}
}
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
package main
import "fmt"
/*
Go program for
Find angle between hour and minute hand
*/
// Calculate angle by given position
func angleValue(h, m int) int {
var x int = h - m
if x < 0 {
x = -x
}
if x > 180 {
x = 360 - x
}
return x
}
func findAngle(hour, minute int) {
if hour < 0 || hour > 24 || minute < 0 || minute > 60 {
return
}
// Calculate position of hour
var h int = (hour * 360) / 12 + (minute * 360) / (12 * 60)
// Calculate position of minute
var m int = (minute * 360) / (60)
var result int = angleValue(h, m)
// Display given hour and minute
fmt.Println(" Given hour : ", hour)
fmt.Println(" Given minute : ", minute)
// Display calculate angle
fmt.Println(" Angle : ", result)
}
func main() {
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
findAngle(10, 10)
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
findAngle(7, 20)
}
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
/*
Node JS program for
Find angle between hour and minute hand
*/
class Angle
{
// Calculate angle by given position
angleValue(h, m)
{
var x = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
findAngle(hour, minute)
{
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
var h = parseInt((hour * 360) / 12) +
parseInt((minute * 360) / (12 * 60));
// Calculate position of minute
var m = parseInt((minute * 360) / (60));
var result = this.angleValue(h, m);
// Display given hour and minute
console.log(" Given hour : " + hour);
console.log(" Given minute : " + minute);
// Display calculate angle
console.log(" Angle : " + result);
}
}
function main()
{
var task = new Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task.findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task.findAngle(7, 20);
}
main();
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
<?php
/*
Php program for
Find angle between hour and minute hand
*/
class Angle
{
// Calculate angle by given position
public function angleValue($h, $m)
{
$x = $h - $m;
if ($x < 0)
{
$x = -$x;
}
if ($x > 180)
{
$x = 360 - $x;
}
return $x;
}
public function findAngle($hour, $minute)
{
if ($hour < 0 || $hour > 24 || $minute < 0 || $minute > 60)
{
return;
}
// Calculate position of hour
$h = (int)(($hour * 360) / 12) +
(int)(($minute * 360) / (12 * 60));
// Calculate position of minute
$m = (int)(($minute * 360) / (60));
$result = $this->angleValue($h, $m);
// Display given hour and minute
echo(" Given hour : ".$hour.
"\n");
echo(" Given minute : ".$minute.
"\n");
// Display calculate angle
echo(" Angle : ".$result.
"\n");
}
}
function main()
{
$task = new Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
$task->findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
$task->findAngle(7, 20);
}
main();
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
# Python 3 program for
# Find angle between hour and minute hand
class Angle :
# Calculate angle by given position
def angleValue(self, h, m) :
x = h - m
if (x < 0) :
x = -x
if (x > 180) :
x = 360 - x
return x
def findAngle(self, hour, minute) :
if (hour < 0 or hour > 24 or minute < 0 or minute > 60) :
return
# Calculate position of hour
h = int((hour * 360) / 12) + int((minute * 360) / (12 * 60))
# Calculate position of minute
m = int((minute * 360) / (60))
result = self.angleValue(h, m)
# Display given hour and minute
print(" Given hour : ", hour)
print(" Given minute : ", minute)
# Display calculate angle
print(" Angle : ", result)
def main() :
task = Angle()
# ⑫
# ⑪ ➀
# ➓ ❷
# ➈ ✧ ➂
# ➇ ➃
# ➆ ➄
# ➅
# hour : 10 , minute : 10
task.findAngle(10, 10)
# ⑫
# ⑪ ➀
# ➉ ➁
# ➈ ✧ ➂
# ➇ ❹
# ➐ ➄
# ➅
# hour : 7 , minute : 20
task.findAngle(7, 20)
if __name__ == "__main__": main()
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
# Ruby program for
# Find angle between hour and minute hand
class Angle
# Calculate angle by given position
def angleValue(h, m)
x = h - m
if (x < 0)
x = -x
end
if (x > 180)
x = 360 - x
end
return x
end
def findAngle(hour, minute)
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
return
end
# Calculate position of hour
h = (hour * 360) / 12 + (minute * 360) / (12 * 60)
# Calculate position of minute
m = (minute * 360) / (60)
result = self.angleValue(h, m)
# Display given hour and minute
print(" Given hour : ", hour, "\n")
print(" Given minute : ", minute, "\n")
# Display calculate angle
print(" Angle : ", result, "\n")
end
end
def main()
task = Angle.new()
# ⑫
# ⑪ ➀
# ➓ ❷
# ➈ ✧ ➂
# ➇ ➃
# ➆ ➄
# ➅
# hour : 10 , minute : 10
task.findAngle(10, 10)
# ⑫
# ⑪ ➀
# ➉ ➁
# ➈ ✧ ➂
# ➇ ❹
# ➐ ➄
# ➅
# hour : 7 , minute : 20
task.findAngle(7, 20)
end
main()
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
/*
Scala program for
Find angle between hour and minute hand
*/
class Angle()
{
// Calculate angle by given position
def angleValue(h: Int, m: Int): Int = {
var x: Int = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
def findAngle(hour: Int, minute: Int): Unit = {
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
var h: Int = (hour * 360) / 12 + (minute * 360) / (12 * 60);
// Calculate position of minute
var m: Int = (minute * 360) / (60);
var result: Int = angleValue(h, m);
// Display given hour and minute
println(" Given hour : " + hour);
println(" Given minute : " + minute);
// Display calculate angle
println(" Angle : " + result);
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Angle = new Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task.findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task.findAngle(7, 20);
}
}
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
/*
Swift 4 program for
Find angle between hour and minute hand
*/
class Angle
{
// Calculate angle by given position
func angleValue(_ h: Int, _ m: Int) -> Int
{
var x: Int = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
func findAngle(_ hour: Int, _ minute: Int)
{
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
let h: Int = (hour * 360) / 12 + (minute * 360) / (12 * 60);
// Calculate position of minute
let m: Int = (minute * 360) / (60);
let result: Int = self.angleValue(h, m);
// Display given hour and minute
print(" Given hour : ", hour);
print(" Given minute : ", minute);
// Display calculate angle
print(" Angle : ", result);
}
}
func main()
{
let task: Angle = Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task.findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task.findAngle(7, 20);
}
main();
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
/*
Kotlin program for
Find angle between hour and minute hand
*/
class Angle
{
// Calculate angle by given position
fun angleValue(h: Int, m: Int): Int
{
var x: Int = h - m;
if (x < 0)
{
x = -x;
}
if (x > 180)
{
x = 360 - x;
}
return x;
}
fun findAngle(hour: Int, minute: Int): Unit
{
if (hour < 0 || hour > 24 || minute < 0 || minute > 60)
{
return;
}
// Calculate position of hour
val h: Int = (hour * 360) / 12 + (minute * 360) / (12 * 60);
// Calculate position of minute
val m: Int = (minute * 360) / (60);
val result: Int = this.angleValue(h, m);
// Display given hour and minute
println(" Given hour : " + hour);
println(" Given minute : " + minute);
// Display calculate angle
println(" Angle : " + result);
}
}
fun main(args: Array < String > ): Unit
{
val task: Angle = Angle();
/*
⑫
⑪ ➀
➓ ❷
➈ ✧ ➂
➇ ➃
➆ ➄
➅
hour : 10 , minute : 10
*/
task.findAngle(10, 10);
/*
⑫
⑪ ➀
➉ ➁
➈ ✧ ➂
➇ ❹
➐ ➄
➅
hour : 7 , minute : 20
*/
task.findAngle(7, 20);
}
Output
Given hour : 10
Given minute : 10
Angle : 115
Given hour : 7
Given minute : 20
Angle : 100
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment