# 前言
为了回顾题目内容,帮助同学学好编程,所以写了这篇博客,有问题请提出,感谢。
# A 输入输出
# 题面:ccc 正在完成他的老师布置给他的作业,作业的内容是:给你两个变量 x,y,与公式:%。
现在请你对于任意给定的,输出 的值。
数据范围:
输入:输入共一行,为两个正整数 x,y
输出:如果答案为程序得出的 S 为 result,输出格式为:。
# 分析
直接照着给的式子写就好了。
注意: 会超过 的取值范围,所以这道题目需要开
# 代码
代码
#include<iostream> | |
#include<algorithm> | |
#include<cstring> | |
using namespace std; | |
int main() | |
{ | |
long long x,y,S; | |
scanf("%lld%lld",&x,&y); | |
S=(x*y+x/y)*(x%y-y);**** | |
printf("\\\\S=%lld",S); | |
return 0; | |
} |
# B 上学迟到
# 题面
学校和 的家之间的距离为 s 米,而 以 v 米每分钟的速度匀速走向学校。
在上学的路上, 还要额外花费 10 分钟的时间进行垃圾分类。
学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
数据范围:对于 100% 的数据,1≤s,v≤10000。
# 分析
首先明确一下内容:
- yyy 会提前出发,所以不一定是今天出发,可能是明天,所以不能盲目做减法,这样可能出现负数。
- yyy 还需要额外花费
10分钟,所以还要多花费10分钟。 - 我们可以简化一下
# 代码
代码
#include<iostream> | |
using namespace std; | |
int s,v; | |
int main() | |
{ | |
cin>>s>>v; | |
int t=10; | |
t+=(s+v-1)/v; | |
//if (s% v==0){ 这一块与上面那一行 t+=(s+v-1)/v; 等价 | |
// t+=s/v; | |
// }else{ | |
// t+=s/v+1; | |
// } | |
int a=8-(t+59)/60; | |
// 计算小时,前面直接相减,需要判断是否是负数 | |
int b=(60-(t%60))%60; | |
// 计算分钟,t%60 算出来花费了多少分钟,60-(t%60) 算出来是哪个时间点出发 | |
// 例如:我五点到达,花费了 25 分钟,说明我是 60-25=35 分时出发的。 | |
// 最外边的 %60 是为了防止 t%60==0,即总时间花费是整的小时 | |
// 这样(60-0)%60==0, 就解决了应该输出 xx:00 而输出 xx:60 的情况 | |
if(a<0)a=24+a; | |
// 开始减上一天的时间了 | |
// 是负数就说明是上一天出发 | |
if(a<10)cout<<0<<a<<':'; | |
else cout<<a<<':'; | |
if(b<10)cout<<0<<b; | |
else cout<<b; | |
return 0; | |
} |