目录
1.前言
哈喽大家好啊,好久没更新了呀~,今儿继续为大家奉上洛谷中的俩道题目,希望大家多多支持哈~
2.俩则题目
1.质数筛
1.题目描述
输入 n 个不大于 105 的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。
2.输入格式
第一行输入一个正整数 n,表示整数个数。
第二行输入 n 个正整数 ai,以空格隔开。
3.输出格式
输出一行,依次输出 ai 中剩余的质数,以空格隔开。
4.输入输出样例
5.题解
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
bool func(int x) {
if (x < 2) {
return false;
}
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0)return false;
}
return true;
}
int main() {
int a,n;
scanf("%d", &n);
for (int i = 0; i <= n; i++) {
scanf("%d ", &a);
if (func(a) > 0) {
printf("%d ",a);
}
}
return 0;
}
这道题的思路是先创建了一个bool类型的函数,来判断该数是否为质数并保存下来(质数的判断方法是是通过比较该数的平方根及以下整数是否可被整除来检验),最后输出打印即可,较为清晰。
2.闰年展示
1.题目描述
输入 x,y,输出 [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。
2.输入格式
输入两个正整数 x,y,以空格隔开。
3.输出格式
第一行输出一个正整数,表示 [x,y] 区间中闰年个数。
第二行输出若干个正整数,按照年份单调递增的顺序输出所有闰年年份数字。
4.输入输出样例
5.题解
#include<stdio.h>
int main() {
int x, y,a[100];
int sum = 0;
scanf("%d %d", &x, &y);
for (int i = x; i <= y; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
sum++;
a[sum] = i;
}
}
printf("%d\n", sum);
for (int i = 1; i <= sum; i++) {
printf("%d ", a[i]);
}
return 0;
}
这道题就简单考察了一下闰年的判断方法,即是否可被4整除但不能被100整除,或者是否可被400整除,后面保存打印即可。
3.小结
今天的题目分享到这里就结束了,希望对大家有所帮助~