@[black_life](/user/1049413) 调了快一个小时,终于是改对了:
```cpp
#include<bits/stdc++.h>
using namespace std;
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
int s,v,h=7;
int mn=50,kc;
int main(){
s=read();
v=read();
if(s%v){
kc=s/v+1;
}else{
kc=s/v;
}
mn-=kc;
while(mn<0){
mn+=60;
h-=1;
if(h==0){
h=24;
}
}
if(h==24){
h=0;
}
if(h<10){
if(mn>=10){
cout<<0<<h<<":"<<mn;
}else{
cout<<0<<h<<":"<<0<<mn;
}
}else{
if(mn>=10){
cout<<h<<":"<<mn;
}else{
cout<<h<<":"<<0<<mn;
}
}
return 0;
}
```
问题是 $h$ 在等于 $24$ 的时候要赋值为 $0$。
真的调了很久,求关注!
by Weekoder @ 2024-01-11 22:58:58
没必要这么长吧。。。
参考我的
```
#include<bits/stdc++.h>
using namespace std;
float n,v;
int main()
{
cin>>n>>v;
int h,m;
int k=ceil(n/v);
if(k>1440) k=1440;
h=7;
m=50;
while(1)
{
k--;
if(m==0)
{
m=59;
h--;
if(h==-1) h=23;
}
else ____//这里填什么?
if(!k) break;
}
if(h<10) cout<<'0';
cout<<h<<':';
if(m<10) cout<<'0';
cout<<m<<endl;
return 0;
}
```
by Rieman_sum @ 2024-01-12 15:12:39
@[Weekoder](/user/800884)
感谢,已关
by QAQvQAQ @ 2024-01-12 16:23:35
@[Guo1](/user/743879)
不会ceil(蒟蒻的呻吟
ceil是整除?
by QAQvQAQ @ 2024-01-12 16:27:53
@[black_life](/user/1049413) ceil 函数的话,就是向上取整,你的那种写法也可以:
```cpp
if(s%v){
kc=s/v+1;
}else{
kc=s/v;
}
```
这样还只需要用 int 类型。
by Weekoder @ 2024-01-12 18:19:21