1.B3846 [GESP样题 一级] 闰年求和
题目描述
小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(不包含起始年份和终止年份)的闰年年份具体数字之和。你能帮帮他吗?
输入格式
输入一行,包含两个整数,分别表示起始年份和终止年份。约定年份在 11 到 20222022 之间。
输出格式
输出一行,包含一个整数,表示闰年年份具体数字之和。
输入输出样例
输入 #1复制
2018 2022
输出 #1复制
2020
代码:
#include<bits/stdc++.h>
#define tt typedef
#define jzl 12345
using namespace std;
tt int ii;
tt char cc;
tt long long ll;
ii i,ans,x,y;
ii main(){
cin>>x>>y;
for (ii i = x + 1; i <= y - 1; i++){
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)){
ans = ans + i;
}
}
cout<<ans<<endl;
return 0;
}
2.B3847 [GESP样题 一级] 当天的第几秒
题目描述
小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?
输入格式
输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;字符有两种取值,大写字母'A'表示上午,大写字母'P'表示下午。
输出格式
输出一行,包含一个整数,表示输入时刻是当天的第几秒。
输入输出样例
输入 #1复制
0 0 0 A
输出 #1复制
0
输入 #2复制
11 59 59 P
输出 #2复制
86399
代码:
#include<bits/stdc++.h>
#define tt typedef
#define jzl 1314
using namespace std;
tt int ii;
tt char cc;
tt string st;
tt long long ll;
tt float ff;
ii hour,minute,second;
char ans;
ii main(){
cin>>hour>>minute>>second>>ans;
ii tot=hour*3600+minute*60+second*1;
if(ans=='P'){
tot+=12*3600;
}
cout<<tot<<endl;
return 0;
}
3.B3834 [GESP202303 一级] 长方形面积
题目描述
小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有多少种可能的长方形,满足长和宽都是整数?如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。
输入格式
输入一行,包含一个整数 A,表示长方形的面积。约定 2≤A≤1000。
输出格式
输出一行,包含一个整数 C,表示有 C 种可能的长方形。
输入输出样例
输入 #1复制
4
输出 #1复制
2
输入 #2复制
6
输出 #2复制
2
#include<bits/stdc++.h>
#define tt typedef
#define jzl 1314
using namespace std;
tt int ii;
tt char cc;
tt string st;
tt long long ll;
tt float ff;
ii a,b;
ii main(){
cin>>a;
for(ii i=1;i*i<=a;i++){
if(a%i==0){
b++;
}
}
cout<<b<<endl;
return 0;
}
4 .B3835 [GESP202303 一级] 每月天数
题目描述
小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?
输入格式
输入一行,包含两个整数 A,B,分别表示一个日期的年、月。约定 2000≤A≤3000,1≤B≤12。
输出格式
输出一行,包含一个整数,表示输入月份有多少天。
输入输出样例
输入 #1复制
2022 1
输出 #1复制
31
输入 #2复制
2020 2
输出 #2复制
29
代码:
#include<bits/stdc++.h>
#define tt typedef
#define jzl 12345
using namespace std;
tt int ii;
tt char cc;
tt long long ll;
tt float ff;
bool yxr(ii year){
if(year%4==0){
if(year%100==0){
if(year%400==0){
return true;
}
else{
return false;
}
}
else{
return true;
}
}
return false;
}
ii a,b,c[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
ii main(){
cin>>a>>b;
if(yxr(a)){
c[2]=29;
}
cout<<c[b]<<endl;
return 0;
}
制作不易,点赞关注