當前位置:首頁 » 編程語言 » c語言中質數如何表示
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中質數如何表示

發布時間: 2022-11-02 17:00:25

c語言素數怎麼表示

#include<stdio.h>

#include<math.h>

intmain()

{

intx,i,j=0,k;

for(x=101;x<=200;x++)

{

for(i=2,k=0;i<=sqrt(x);i++)

if(x%i==0)

{

k++;

break;

}

if(k==0)

{

printf("%d",x);

j++;

}

}

printf(" 100到200之間有%d個素數 ",j);

}

(1)c語言中質數如何表示擴展閱讀

100->200之間的素數的個數,以及所有的素數

#include<stdio.h>

#include<math.h>

intmain()

{

inta,m,k,i;

a=0;

for(i=101;i<=200;i++)

{

for(k=2;k<i;k++)

if(i%k==0)break;

if(k>=i)

a++;

}

printf("%d ",a);

for(i=101;i<=200;i++)

{

for(k=2;k<i;k++)

if(i%k==0)break;

if(k>=i)

a++;

if(k>=i)

printf("%d",i);

}

printf(" ");

return0;

}

❷ c語言 質數

你可以在數組的最後加一項 0 ,但中間就不能有 0 了。然後改成這樣:

#include<math.h>
int main()
{

int n, i,k, a[]={5,20,34,13,25,9,12,23,36,19,0}; //多了個0

n=0; //給 n 賦初值 0
while(a[n]) //當a[n]為true,即 a[n] 不為 0
{
k=sqrt(a[n]); //這里直接用 a[n]

for(i=2;i<=k;i++)
if(n%i==0)break;

if(i>k)
printf("%d ",n);

n++; //n增加1 ,使 a[n] 為下一個數
}
}

❸ C語言求質數

紅框里的代碼,加上那個i++的for循環,其邏輯是:
從2開始,遍歷所有小於n的整數,
只要存在一個整數可以被n整除(即余數為0),則可判斷n為合數.
若從2到n-1范圍內,不存在可整除n的數,則判斷n為質數.

還有 for(int .......)這種定義變數的寫法,要C99才支持,現在很多編譯器默認C89標准,或者不支持C99標准,這樣寫容易出錯.

第一個for循環裡面,直接把n=0,1,2的情況跳過了.既然這樣,變數n直接把初值賦為3不就好了,賦值0幹嘛.

第二個for循環裡面,判斷到i<sqrt(n)就可以了,還有更簡單的求質數演算法,感興趣可以網路.

❹ C語言中,何為素數何為非素數用C語言如何表示

C語言中的素數和數學中的素數是一樣的,即:除了1和它本身之外,不能被任何數整除的數(1不是素數)。也就是說素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。
非素數的定義就很明了了,素數以外的數都是非素數,在C語言中,求素數的方法,就是從2開始,依次判斷該數是否可以被2以上到該數以下的數整除,如果可以,就不是素數,如果不可以被所有大於或等於2小於該數的整數整除,那麼就是素數了

❺ 用C語言打出質數

樓上的程序運行結果有問題哦。。。

--------------------------------

1.
#include<stdio.h>

main()
{
int i, j, M, N;
int flag; //標志是否為質數

printf("input m:");
scanf("%d", &M);
printf("input n:");
scanf("%d", &N); //輸入M和N

if(M<2)
{
M=2;
printf("2\n");
}//小於2的數不為質數,直接從3數起,並且把質數2列印出來

for(i=M+1;i<=N;i++)//從M到N一個個的數數
{
flag=0; //初始化,為質數
for (int j=2;j<=i/2;j++) //從除以2開始,一直除以到i/2,(不用除到i了,判斷9/7能不能整除沒意義,肯定不行的)
{
if (!(i %j) ) //如果整除(%為取余數)
{
flag=1; //制標志為1(不為質數)
break; //跳到M到N的下一個數
}
}
if (flag==0) printf("%d\n",i); //如果從除以2開始,一直除以到i/2都不能整除,則為質數,列印出來。
}
}

------------------------
VC6.0調試輸出
input m:3
input n:20
5
7
11
13
17
19

2

#include<stdio.h>

int main()
{
int i, j, M, N;
int flag;
printf("input m:");
scanf("%d", &M);

if(M<2)
{
M=2;
printf("2\n");
return 0;
}//小於2的數不為質數,直接從3數起,並且把質數2列印出來,退出

for(i=M+1;;i++)//從M到N一個個的數數
{
flag=0; //初始化,為質數
for (j=2;j<=i/2;j++) //從除以2開始,一直除以到i/2,(不用除到i了,判斷9/7能不能整除沒意義,肯定不行的)
{
if (!(i %j) ) //如果整除(%為取余數)
{
flag=1; //制標志為1(不為質數)
break; //跳到M到N的下一個數
}
}
if (flag==0) printf("%d\n",i);
return 0;//如果從除以2開始,一直除以到i/2都不能整除,則為質數,列印出來。
}
return 0;
}

---------------------------

VC6.0調試輸出

input m:8
11

❻ 輸出100以內的質數,用c語言編寫

#include <stdio.h>

int main(int argc, char **argv)

{

int x;

for (x=1;x<100;x++){

int i;

int isprime=1;//表示x是素數。

for(i=2;i<x;i++){

if (x%i==0){

isprime=0;

break;

}

}

if (isprime==1){

printf("%d",x);

}

}

return 0;

}

C語言編程計算注意事項:

1、編程時注意符號大小寫。

2、main函數要有返回值

3、C語言中定義數組,要定義出大小,數組的大小隻能是常量不能是變數。

4、%md ; %0md ;%.mf;(以m位進行右對齊輸出,不足m位空格補上;以m位進行右對齊輸出。不足m位用0補上;保留m位小數)

❼ 在c語言中如何表示素數

1、先打開visualc++6.0,然後單擊左上角的文件,然後單擊新建。

❽ C語言中求質數過程是怎樣的

判斷一個數是不是素數(就是你說的質數),用下面的方法(篩選法):

從2開始,那麼2的倍數就不是素數;

然後是3,那麼3的倍數就不是素數;

然後是5(4已經被排除了),那麼5的倍數就不是素數。

以此類推。下面給出篩選法的代碼(判斷10以內的素數有幾個,4個)

#include<stdio.h>
intmain(void)
{
inti,s,k,count=0;
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(s=2;s<=k;s++)
{
if(i%s==0)break;
}
if(s==k+1)
count++;
}
printf("%d ",count);
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(s=2;s<=k;s++)
{
if(i%s==0)break;
}
if(s==k+1)
printf("%d",i);
}
return0;
}

寫的這么詳細,不採納我,好傷心。

❾ c語言 質數

把1<N<1000;去掉,scanf("%d",&N);少了&;你的質數判斷方法也有問題