统计n以内素数的个数c语言
时间: 2023-09-13 21:08:04 浏览: 401
以下是一个简单的C语言程序,用于统计n以内素数的个数:
```c
#include <stdio.h>
int main() {
int n, i, j, flag, count = 0;
printf("Enter the value of n: ");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
flag = 0;
for (j = 2; j <= i/2; j++) {
if (i % j == 0) {
flag = 1;
break;
}
}
if (flag == 0) {
count++;
}
}
printf("Total number of prime numbers upto %d is %d\n", n, count);
return 0;
}
```
程序中,我们首先从用户输入中获取n的值。然后,我们使用两个嵌套的for循环来遍历2到n之间的所有数字。对于每个数字i,我们使用另一个for循环来检查它是否为素数。如果i不能被2到i/2之间的任何数字整除,则它是一个素数,我们将计数器增加1。最后,我们将计数器的值打印出来,以显示n以内的素数数量。
相关问题
输出100以内的所有素数,并统计素数的个数。c语言
可以使用循环遍历2~100之间的所有数,判断是否为素数,然后加入素数列表并统计个数。判断素数的方法是从2到该数-1的数中去除,如果有余数为0,则该数不是素数。
以下是C语言实现的代码:
```c
#include <stdio.h>
int main() {
int count = 0; // 记录素数个数
int primes[100]; // 存储素数的列表
for(int i = 2; i <= 100; i++) {
int is_prime = 1; // 标记是否是素数
for(int j = 2; j < i; j++) {
if(i % j == 0) { // 说明可以被j整除,不是素数
is_prime = 0;
break;
}
}
if(is_prime) { // i是素数
primes[count++] = i;
}
}
// 输出素数列表
for(int i = 0; i < count; i++) {
printf("%d ", primes[i]);
}
printf("\n总共有%d个素数", count);
return 0;
}
```
输出结果为:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
总共有25个素数
```
求素数的个数c语言程序
以下是使用 C 语言编写的求素数个数的程序:
```c
#include <stdio.h>
int main() {
int n, i, j, count = 0, is_prime;
printf("请输入一个正整数 n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
is_prime = 1; // 假设 i 是素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0; // i 能被 j 整除,不是素数
break;
}
}
if (is_prime) {
count++; // 素数个数加 1
}
}
printf("在 %d 以内,共有 %d 个素数。\n", n, count);
return 0;
}
```
运行程序后,输入一个正整数 n,程序会输出在 n 以内有多少个素数。