记录洛谷刷题QAQ
输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。
输入两个正整数,分别表示年份 y y y 和月数 m m m,以空格隔开。
输出一行一个正整数,表示这个月有多少天。
1926 8
31
2000 2
29
数据保证 1582 ≤ y ≤ 2020 1582 \leq y \leq 2020 1582≤y≤2020, 1 ≤ m ≤ 12 1 \leq m \leq 12 1≤m≤12。
#include
#include
#include
#include
int main()
{
int month1[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int month2[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
int y, m;
scanf("%d%d",&y,&m);
if(y%4 == 0&&y % 100!= 0||y % 400 == 0)
{
printf("%d\n",month2[m]);
}
else
{
printf("%d\n",month1[m]);
}
return 0;
}
给出 n n n 和 n n n 个整数 a i a_i ai,求这 n n n 个整数中最小值是什么。
第一行输入一个正整数 n n n,表示数字个数。
第二行输入 n n n 个非负整数,表示 a 1 , a 2 … a n a_1,a_2 \dots a_n a1,a2…an,以空格隔开。
输出一个非负整数,表示这 n n n 个非负整数中的最小值。
8
1 9 2 6 0 8 1 7
0
数据保证, n ≤ 100 n\le100 n≤100 且 0 ≤ a i ≤ 1000 0\le a_i \le 1000 0≤ai≤1000。
#include
#include
#include
#include
int main()
{
int n;
scanf("%d",&n);
int min = 1000;
for(int i = 1;i <= n;i++)
{
int num;
scanf("%d",&num);
if(num < min)
{
min = num;
}
}
printf("%d\n",min);
return 0;
}
给定 n n n 和 k k k,将从 1 到 n n n 之间的所有正整数可以分为两类:A 类数可以被 k k k 整除(也就是说是 k k k 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 1 1 位,用空格隔开。
数据保证两类数的个数都不会是 0 0 0。
输入两个正整数 n n n 与 k k k。
输出一行,两个实数,分别表示 A 类数与 B 类数的平均数。精确到小数点后一位。
100 16
56.0 50.1
数据保证, 1 ≤ n ≤ 10000 1 \leq n\leq 10000 1≤n≤10000, 1 ≤ k ≤ 100 1 \leq k \leq 100 1≤k≤100。
#include
#include
#include
#include
int main()
{
int n, k;
scanf("%d%d",&n,&k);
int x = 0,y = 0;
int sum = 0,num = 0;
for(int i = 1;i <= n;i++)
{
if(i % k == 0)
{
sum = sum + i;
x++;
}
if(i % k != 0)
{
num = num + i;
y++;
}
}
double a = 1.0*sum/x*1.0;
double b = 1.0*num/y*1.0;
printf("%.1lf %.1lf",a,b);
return 0;
}
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a a a 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2 2 2,向下取整)。第几天的时候木棍的长度会变为 1 1 1?
输入一个正整数 a a a,表示木棍长度。
输出一个正整数,表示要第几天的时候木棍长度会变为 1 1 1。
100
7
数据保证, 1 ≤ a ≤ 1 0 9 1 \le a\le 10^9 1≤a≤109。
#include
#include
#include
#include
int main()
{
long long n;
scanf("%lld",&n);
int sum = 1;
long long half = n;
while(half !=1)
{
half = half/2;
sum++;
}
printf("%d\n",sum);
return 0;
}
给出 n n n,请输出一个直角边长度是 n n n 的数字直角三角形。所有数字都是 2 2 2 位组成的,如果没有 2 2 2 位则加上前导 0 0 0。
输入一个正整数 n n n。
输出如题目要求的数字直角三角形。
5
0102030405
06070809
101112
1314
15
数据保证, 1 ≤ n ≤ 13 1\le n\le13 1≤n≤13。
#include
#include
#include
#include
int main()
{
int n;
scanf("%d",&n);
int x = 1;
for(int i = n;i >= 0;i--)
{
for(int j = i-1;j >= 0;j--)
{
if(x < 10)
{
printf("0%d",x);
x++;
}
else
{
printf("%d",x);
x++;
}
}
printf("\n");
}
return 0;
}