1.每月天数
题目描述
小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?
输入
输入一行,包含两个整数,分别表示一个日期的年、月。
输出
输出一行,包含一个整数,表示输入月份有多少天。
分析:
定义数组存储每月天数
如果是2月则特殊判断
否则输出
代码实现:
#include<bits/stdc++.h>
using namespace std;
const int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int a,b;
cin>>a>>b;
if(b==2){
if(a%400==0||a%100!=0&&a%4==0){
cout<<month[b]+1<<endl;
}else{
cout<<month[b]<<endl;
}
}else{
cout<<month[b]<<endl;
}
return 0;
}
2.长方形面积
题目描述
小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有多少种可能的长方形,满足长和宽都是整数?如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。
输入格式
输入一行,包含一个整数 ,表示长方形的面积。约定 。
输出格式
输出一行,包含一个整数 ,表示有 种可能的长方形。
分析:
因为如果两个长方形的长相等、宽也相等,则认为是同一种长方形,所以只需有循环到sqrt(n)即可判断若一边可以被n整除就可以构成正方形
代码实现:
#include<iostream>
using namespace std;
int main(){
int n,cnt=0;
cin>>n;
for(int i=1;i*i<=n;i++)
if(n%i==0)cnt++;
cout<<cnt<<endl;
return 0;
}