一天中時針和分針會相遇多少次?
阿新 • • 發佈:2019-02-12
好久沒更新了,好忙。
如標題題目:
數學分析請看:
http://www.planetseed.com/node/18560
程式:
#include <iostream> #include <vector> #include <string> #include <algorithm> #include <map> #include <math.h> using namespace std; struct HMS { int hour; int minute; int second; HMS(int h=0, int m=0, int s=0) : hour(h), minute(m), second(s){} }; HMS secToHour(int s) { int h = s / 3600; s %= 3600; int m = s / 60; s %= 60; return HMS(h, m, s); } void meetTime(vector<int> &mt) { double vs = 1.0; double vm = 1.0 / 60.0; double vh = 1.0 / 60.0 / 12; for (int i = 1; i < 12; i++) { mt.push_back(i * 60.0 / (vm-vh)); } }
測試程式:
#include "Tick.h" #include<stdio.h> int main() { vector<int> mt; meetTime(mt); HMS hms; for (int i = 0; i < mt.size(); i++) { hms = secToHour(mt[i]); cout<<mt[i]<<" - "<<hms.hour<<":"<<hms.minute<<":"<<hms.second<<endl; } cout<<endl; system("pause"); return 0; }
執行結果:
和上面網頁中數學計算出來的結果一樣的,接近常數的時間效率,不用搜索所有秒。