可怜的30分求助

P5707 【深基2.例12】上学迟到

@[洛熠](/user/325608) 其实应该没必要那么复杂判断那么多,不仅复杂而且难调。你看下我在当时写的代码。 $sum$表示总分钟数,$ans1$代表第几小时,$ans2$代表第几分钟。算出sum,一个循环就能确定另外两个的值。 ```cpp #include<iostream> #include<cmath> #include<cstdio> using namespace std; ll s1,s2,sum,ans1=8,ans2=0; int main() { cin>>s1>>s2; sum=ceil(1.0*s1/(1.0*s2))+10; if(sum==10) sum=0; ans2-=sum; while(ans2<0) { ans2+=60; ans1--; if(ans1<0) ans1+=24; } if(ans1<10) printf("0"); printf("%lld:",ans1); if(ans2<10) printf("0"); printf("%lld",ans2); return 0; printf("你指尖跃动的电光 是我此生不变的信仰"); } ```
by do_while_true @ 2020-04-04 07:34:37


哦~~~~ 不过最后一句输出是什么鬼?
by Zmr_ @ 2020-04-04 09:59:23


@[do_while_true](/user/223298) ```cpp int main() { do printf("唯我超电磁炮永世长存!!"); while(true) return 0; } ```
by qqqqq111 @ 2021-04-24 22:12:33


###### 提供简洁思路 ```c #include<iostream> using namespace std; int main() { int s, v; cin >> s >> v; int allMin = s / v + 10 + (s % v != 0 ? 1 : 0); int remain = allMin <= 480 ? 480 - allMin : 1440 + 480 - allMin; int hour = remain / 60; int min = remain % 60; string hourStr = to_string(hour); string minStr = to_string(min); string res = (hour < 10 ? "0" + hourStr : hourStr) + ":" + (min < 10 ? "0" + minStr : minStr); cout << res; return 0; } ```
by yuanzhisong @ 2023-08-23 11:38:02


|