#include <iostream>
using namespace std;
class Solution {
private:
void time_show_minute(long long n, double t) {
long long minute;
minute =(long long)(60 - (t - n * 60));
if (minute >= 10)
cout << minute << endl;
else if (minute < 10 && minute >= 0)
cout << 0 << minute << endl;
}
public:
void input(unsigned long long* s, unsigned long long* v) {
cin >> *s >> *v;
}
double time_up(unsigned long long s, unsigned long long v) {
if (s / v == 0)
return (double)s / v + 9;
else return (double)s / v + 10;
}
void time_show(double t) {
long long n, d;
n = (long long)t / 60;
d = (long long)n / 24;
if (d >= 1)
n = n - d * 24;
if (n >= 0 && n <= 8) {
cout << 0 << 8 - (n + 1) << ":";
time_show_minute(n,t);
}
else if (n > 8 && n <= 22) {
cout << 24 + (8 - n) << ":";
time_show_minute(n,t);
}
else if( n > 22 && n < 24) {
cout << 0 << 24 + (8 - n) << ":";
time_show_minute(n,t);
}
}
};
int main()
{
unsigned long long s, v;
double t;
Solution solution;
solution.input(&s, &v);
t = solution.time_up(s, v);
solution.time_show(t);
return 0;
}
这个地方我始终不知道为什么错了,只有七十分,后三个示例错误了。 具体情况就是: 1. 输入100 99 输出07:48 2. 输入1000 1 输出16:10 3. 输入1400 1 输出09:30 上面都是正常的输出,但是下面就有错误了 4. 输入1500 1 输出06: 5. 输入10000 1 输出10: 问题出在哪里呢?