# 前言

为了回顾题目内容,帮助同学学好编程,所以写了这篇博客,有问题请提出,感谢。

# A 输入输出

# 题面:ccc 正在完成他的老师布置给他的作业,作业的内容是:给你两个变量 x,y,与公式:S=(xy+x/y)(xS=(x*y+x/y)*(x%yy)y-y)

现在请你对于任意给定的xyx,y,输出SS 的值。

数据范围:1<=x<=5e5,1<=y<=5e51<=x<=5e5,1<=y<=5e5
输入:输入共一行,为两个正整数 x,y
输出:如果答案为程序得出的 S 为 result,输出格式为:S=result\\S=result

# 分析

直接照着给的式子写就好了。
注意5e55e55e5*5e5 会超过intint 的取值范围,所以这道题目需要开longlonglong\ long

# 代码

代码
#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 上学迟到

# 题面

学校和 yyyyyy 的家之间的距离为 s 米,而 yyyyyyv 米每分钟的速度匀速走向学校。

在上学的路上,yyyyyy 还要额外花费 10 分钟的时间进行垃圾分类。

学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。

由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天

数据范围:对于 100% 的数据,1≤s,v≤10000。

# 分析

首先明确一下内容:

  1. yyy 会提前出发,所以不一定是今天出发,可能是明天,所以不能盲目做减法,这样可能出现负数。
  2. yyy 还需要额外花费 10 分钟,所以还要多花费 10 分钟。
  3. 我们可以简化一下

# 代码

代码
#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;
}