❶ c语言编程:输出1到N中所有质数的个数
#include
#include
#include
int
panan(int
n)
{
int
i=2;
for(i;i<=sqrt(n);++i)
//判断是质数只用到n的平方根就好
if(n%i==0)
return
0;
//余数为0,说明n有约数,所以返回0
return
1;
//表示没有余数返回1
}
int
main()
{
int
a=2,i=2,t=100000,n;
printf("输入n:");
scanf("%d",&n);
printf("1~%d之间的质数有:",n);
//
printf("%d",a);
//可以在后边输出
这个可以省略
if(n<=100000&&n>1)
//如果是while(),将是一个死循环,程序不会停止,用if做判断
{
do
{
if
(panan(i))
//i%a是判断奇数的不是判断质数的,我做了一个程序调用
printf("%d
",i);
++i;
}
while(i<=n);//如果只是i
评论
0
0
加载更多
❷ 怎样用c语言输出1~n间素数的个数
#include<stdio.h>
int main()
{
int n,i,j,num=0;/*计数器num*/
scanf("%d",&n);
for(i=1;i<=n;i++)/*遍历1~n间的数*/
{
for(j=2;j<=i/2;j++)/*逐一判断是否能被除了1和本身之外的数整除*/
{
if(i%j==0)
{
num++;/*找到则计数器自增*/
break;/*比对下一个数*/
}
}
}
printf("%d",num);/*输出个数*/
getch();
return 0;
}
❸ C语言:用数组求1~n内所以素数
代码资料:
#include "stdio.h"
#include <stdlib.h>
int main(int argc,char *argv[]){
int i,j,n;
char *p;
printf("Enter n(int n>0)... n=");
if(scanf("%d",&n)!=1 || n<1){
printf("Input error, exit... ");
return 0;
}
if((p=(char *)malloc(++n))==NULL){
printf("Application memory failure... ");
return 0;
}
for(p[0]=p[1]=0,p[2]=1,i=3;i<n;p[i++] = i&1 ? 1 : 0);
for(i=3;i<n;i++)
if(p[i])
for(j=i+2;j<n;j++)
if(p[j] && j%i==0)
p[j]=0;
for(i=2;i<n;i++)
if(p[i])
printf("%d ",i);
free(p);
printf(" ");
return 0;
}
❹ 输出n以内的所有质数,C语言代码。
#include<stdio.h>
intmain()
{
inti,j,n,sum=0;
printf("n=");
scanf("%d",&n);
for(i=2;i<n;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(i==j)
{
sum++;
printf("%d",i);
}
}
printf("sum=%d ",sum);
return0;
}