用 C++ 查詢時針和分針之間的夾角為給定值 theta 的相關時間
假設我們有一個 theta,或角度值。我們必須查詢 hh:mm 格式的時間,它透過時針和分針之間的夾角來建立。假設角度為 90°,則結果可以為 3:00。
由於有 12 小時,因此對於小時有 12 個可能的值,對於分鐘有 60 個可能的值。我們將迴圈瀏覽所有可能的時間。如果任何時間的角度與給定的 theta 相同,則列印該時間。
示例
#include<iostream>
#include<cmath>
using namespace std;
float angleFromClockHand(int hour, int minute) {
float hour_angle = 0.5 * (hour*60 + minute);
float minute_angle = 6*minute;
float angle = abs(hour_angle - minute_angle);
angle = min(360-angle, angle);
return angle;
}
void findTime(float theta) {
for (int hour=0; hour<12; hour++) {
for (int min=0; min<60; min++) {
if (angleFromClockHand(hour, min)==theta) {
cout << hour << ":"<< min;
return;
}
}
}
cout << "Unable to find time";
}
int main() {
float angle = 45.0;
findTime(angle);
}輸出
4:30
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP