素数元素的个数 题目描述 输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。 输入格式: 在第一行输入一个正整数 n(1<n<=100); 在第一行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出素数的元素个数。 输入样例: 10 71 39 45 18 87 28 67 91 53 7 输出样例: 4
时间: 2024-01-21 15:17:27 浏览: 229
以下是 Python 代码实现:
```python
import math
n = int(input())
a = list(map(int, input().split()))
count = 0
for i in a:
if i < 2:
continue
is_prime = True
for j in range(2, int(math.sqrt(i))+1):
if i % j == 0:
is_prime = False
break
if is_prime:
count += 1
print(count)
```
首先读入整数 n 和 n 个整数,存储在数组 a 中。接着遍历数组 a,对于每个元素,判断其是否为素数。如果是素数,则计数器 count 加一。最后输出 count 的值即可。判断素数的方法是从 2 到该数的平方根范围内进行遍历,判断是否存在能够整除该数的因子。如果存在,则该数不是素数;否则,该数是素数。在实现过程中,需要注意小于 2 的数不是素数,需要进行特殊处理。
相关问题
用c语言素数元素的个数 题目描述 输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。 输入格式: 在第一行输入一个正整数 n(1<n<=100); 在第一行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出素数的元素个数。 输入样例: 10 71 39 45 18 87 28 67 91 53 7 输出样例: 4
下面是用C语言编写的求素数元素个数的代码:
```c
#include <stdio.h>
int is_prime(int n) // 判断n是否是素数
{
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
int n;
scanf("%d", &n);
int a[n];
int count = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (is_prime(a[i])) {
count++;
}
}
printf("%d\n", count);
return 0;
}
```
思路是先定义一个 `is_prime` 函数来判断一个整数是否是素数,然后在主函数中读入数组,并遍历数组,统计素数元素的个数,最后输出即可。
输入格式: 在第一行输入一个正整数 n(1<n<=100); 在第一行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出小于平均值的元素个数。 输入样例: 10 71 39 45 18 87 28 67 91 53 7 输出样例: average=50.6 小于平均值的个数:5 4-4 素数元素的个数 题目描述 输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。 输入格式: 在第一行输入一个正整数 n(1<n<=100); 在第一行输入 n 个正整数,数据之间用空格分隔。 的C语言
第一个问题的代码实现:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
double avg;
int a[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
sum += a[i];
}
avg = (double) sum / n;
printf("average=%.1lf\n", avg);
int count = 0;
for (int i = 0; i < n; i++) {
if (a[i] < avg) {
count++;
}
}
printf("小于平均值的个数:%d\n", count);
return 0;
}
```
输入样例:
```
10
71 39 45 18 87 28 67 91 53 7
```
输出样例:
```
average=50.6
小于平均值的个数:5
```
第二个问题的代码实现:
```c
#include <stdio.h>
int is_prime(int x) {
if (x < 2) {
return 0;
}
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, count = 0;
int a[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (is_prime(a[i])) {
count++;
}
}
printf("素数元素的个数:%d\n", count);
return 0;
}
```
输入样例:
```
8
2 4 7 10 13 16 19 20
```
输出样例:
```
素数元素的个数:3
```
阅读全文
相关推荐














