2023年3月gesp一级 做题记录

一、每月天数

题目链接:https://www.luogu.com.cn/problem/B3835
题目描述
小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?

输入格式
输入一行,包含两个整数 A , B A, B A,B,分别表示一个日期的年、月。约定 2000 ≤ A ≤ 3000 2000 \leq A \leq 3000 2000A3000 1 ≤ B ≤ 12 1 \leq B \leq 12 1B12

输出格式
输出一行,包含一个整数,表示输入月份有多少天。

样例输入1

2022 1

样例输出1

31

样例输入2

2020 2

样例输出2

29

我的代码:

#include<iostream>
using namespace std;
int main(){
	int y,m;
	cin>>y>>m;
    bool leap=false;	//是否是闰年 
	if(y%400==0) leap=true;	  //闰年判断
	if(y%4==0 && y%100!=0) leap=true;    //闰年判断 
	if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) cout<<"31";	//大月 
	if(m==4||m==6||m==9||m==11) cout<<"30";	   //小月 
	if(m==2 && leap==true) cout<<"29";	      //闰年2月
	if(m==2 && leap==false) cout<<"28";	     //p平年2月
	return 0;
}

在这里插入图片描述

二、长方形面积

题目链接:https://www.luogu.com.cn/problem/B3834

题目描述
小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有多少种可能的长方形,满足长和宽都是整数?如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。

输入格式
输入一行,包含一个整数 A A A,表示长方形的面积。约定 2 ≤ A ≤ 1000 2 \leq A \leq 1000 2A1000

输出格式
输出一行,包含一个整数 C C C,表示有 C C C 种可能的长方形。

样例输入1

4

样例输出1

2

样例 1 解释
2 2 2 种长方形面积为 4 4 4,它们的长宽分别为 2 × 2 2 \times 2 2×2 4 × 1 4 \times 1 4×1

样例输入2

6

样例输出2

2

样例 2 解释
2 2 2 种长方形面积为 6 6 6,它们的长宽分别为 3 × 2 3 \times 2 3×2 6 × 1 6 \times 1 6×1

我的代码:

#include<iostream>
using namespace std;
int main(){
	int s;
	cin>>s;
	int res=0;
	for(int i=1;i*i<=s;i++){
		int b=s/i;	//b,i为长方形的边长 
		if(b*i==s) res++;
	}
	cout<<res;
	return 0;
}

在这里插入图片描述
参考答案:area%w==0更好,道破本质

#include<iostream>
using namespace std;
int main(){
	int area=0,cnt=0;
	cin>>area;
	for(int w=1;w*w<=area;w++){
		if(area%w==0) cnt++;
	}
	cout<<cnt;
	return 0;
}

在这里插入图片描述

三、选择判断题

以下是只有自己才能看懂的笔记
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值