编写程序统计 100 以内的自然数,有多少个素数?输出所有素数及素数的个数。
#include
void main (void)
{
int n,i;
for(n=2;n<100;n++)
{
for(i=2;iif(n % i ==0)
break;
}
if(i>=n)
printf("%d ",n);
}
}
这个c语言运行结果是1到100内的所有素数
我想要加一小段代码,求出素数的个数
#include <stdio.h>
void main (void)
{
int n,i;
int count = 0;
for(n=2;n<100;n++)
{
for(i=2;i<n;++i)
{
if(n % i ==0)
break;
}
if(i>=n){
printf("%d ",n);
count++;
}
}
printf("%d\n",count);
}
输出下边计数一下就行了
#include <stdio.h>
void main (void)
{
int n,i,count=0;
for(n=2;n<100;n++)
{
for(i=2;i<n;++i)
{
if(n % i ==0)
break;
}
if(i>=n){
printf("%d ",n);
count++;
}
}
printf("\n%d\n",count);
}
#include <stdio.h>
/* 判断一个数是否是质数 */
int is_prime(int n) {
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return 0;
}
return 1;
}
int main () {
int count = 0; //质数个数
for (int n = 2; n < 100; n++) {
if (is_prime(n)) {
printf("%d ", n);
count++;
}
}
printf("\n");
printf("质数个数:%d", count);
return 0;
}
修改如下,供参考:
#include <stdio.h>
void main(void)
{
int n, i, cnt = 0;
for (n = 2; n < 100; n++)
{
for (i = 2; i < n; ++i)
{
if (n % i == 0)
break;
}
if (i >= n) {
cnt++;
printf("%d ", n);
}
}
printf("\n共有素数:%d", cnt);
}