❶ 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;
}