用C语言输出100以内的素数并计数
时间: 2023-09-10 10:08:33 AIGC 浏览: 109
下面是一个输出100以内的素数并计数的C语言程序:
```c
#include <stdio.h>
int main() {
int count = 0;
for (int i = 2; i <= 100; i++) {
int is_prime = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
count++;
}
}
printf("\n共计%d个素数\n", count);
return 0;
}
```
程序中使用了两个嵌套的for循环,外层循环遍历2到100之间的整数,内层循环判断是否为素数。如果内层循环发现当前数不是素数,则直接跳出循环,否则将其输出,并计数器加1。最后输出素数的数量。
相关问题
用C语言求出100以内的质数并输出素数与素数的个数。 Input Output 输出质数与质数的个数。 例如: 质数:2,3,.... 个数:n个
在C语言中,我们可以编写一个程序来找出100以内的所有质数,并计算它们的数量。以下是实现这一功能的一个简单算法:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
void find_primes_and_count(int limit, int *count) {
int prime_count = 0;
for (int i = 2; i < limit; i++) {
if (is_prime(i))
prime_count++, // 增加计数
printf("%d ", i); // 输出质数
}
printf("\n");
*count = prime_count; // 将计数传递给结果指针
}
int main() {
int primes_count;
find_primes_and_count(100, &primes_count);
printf("质数的个数: %d\n", primes_count);
return 0;
}
```
这段代码首先定义了一个辅助函数 `is_prime` 用于检查一个数是否为质数,接着在 `find_primes_and_count` 函数中遍历1到指定限制(这里是100),对于每个数,如果是质数就增加计数并输出。最后,主函数会输出质数的数量。
运行此程序,你会得到100以内所有的质数及其个数。
C语言输出1000以内的最大的10个素数
在C语言中,我们可以编写一个程序来找出并打印出1000以内的最大10个素数。素数是只有两个正因数(1和自身)的自然数,首先我们需要定义一个函数来判断一个数是否为素数。然后,我们可以遍历从2到1000之间的所有整数,如果是素数并且是我们找到的最大第10个素数之后,就更新这个最大值。
以下是简单的C代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int count = 0, num = 2, max_prime = 0;
printf("%d ", num); // 输出第一个素数
while (count < 9 && num <= 1000) { // 遍历直到找到10个素数
num++;
if (is_prime(num)) {
printf("%d ", num);
if (num > max_prime) {
max_prime = num;
count++; // 更新最大素数计数
}
}
}
return 0;
}
```
运行此代码后,它会输出1000以内的最大10个素数。注意,由于代码限制,在循环内检查每个数的素性,效率较低,如果需要优化,可以使用更高效的算法如Sieve of Eratosthenes。
阅读全文
相关推荐











