怎麼用c語言判斷數是不是素數,怎麼用c語言判斷一個數是不是素數

時間 2021-08-11 17:05:24

1樓:樹又綠皮敏

解釋如下:

#include"stdio.h"

#include"math.h"

main()

2樓:匿名使用者

#include"stdio.h"

#include"math.h"

void main()

3樓:匿名使用者

最佳方案是用素數分佈來處理,在處理大素數時尤其合理,用算術基本定理可能太慢了。如果知道素數分佈相關知識,編出來還是很容易的,不然告訴你也是白搭。

4樓:

#include

#include

main()

if(i<=i)printf("yes");}

5樓:衷覓肥半槐

#include

using

namespace

std;

void

main()

if(i*i>=n)

cout<<"yes\n";}

6樓:問明

方法一:

#include<stdio.h>

int main(){

int i,j;

printf("請輸入一個正整數。\n");

scanf("%d",&i);

if(i<2)

printf("小於2,請重新輸入。\n");

elseif(i%2==0)

printf("%d不是一個素數。\n",i);

else{

for(j=2;j<=i/2;j++){

if(i%j==0){

printf("%d不是一個素數。\n",i);

break;

if(j>i/2){

printf("%d是一個素數。\n",i);

break;

方法二:

#include<stdio.h>

int main(){

int a=0;

int num=0;

scanf("%d",&num);

for(inti=2;i<num-1;i++){if(num%i==0){

a++;

if(a==0){

printf("yes\n");

}else{

printf("no\n");

方法三:

#include"stdio.h"

int main(){

printf("\t\t\t\t\thelloworld\n");

int a,i;

do{printf("inputnumberjudgeprimenumber:\n");

scanf("%d",&a);

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

if(a%i==0)break;

if(i==a)

printf("%d是素數\n",a);

else

printf("%d不是素數\n",a);

}while(a!=0);

如何用c語言程式設計判斷一個數是不是素數?

7樓:問明

方法一:

#include<stdio.h>

int main(){

int i,j;

printf("請輸入一個正整數。\n");

scanf("%d",&i);

if(i<2)

printf("小於2,請重新輸入。\n");

elseif(i%2==0)

printf("%d不是一個素數。\n",i);

else{

for(j=2;j<=i/2;j++){

if(i%j==0){

printf("%d不是一個素數。\n",i);

break;

}if(j>i/2){

printf("%d是一個素數。\n",i);

break;}}

}}方法二:

#include<stdio.h>

int main(){

int a=0;

int num=0;

scanf("%d",&num);

for(inti=2;i<num-1;i++){if(num%i==0){

a++;}}

if(a==0){

printf("yes\n");

}else{

printf("no\n");}}

方法三:

#include"stdio.h"

int main(){

printf("\t\t\t\t\thelloworld\n");

int a,i;

do{printf("inputnumberjudgeprimenumber:\n");

scanf("%d",&a);

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

if(a%i==0)break;

if(i==a)

printf("%d是素數\n",a);

else

printf("%d不是素數\n",a);

}while(a!=0);}

8樓:風若遠去何人留

判斷素數的方法很多。

以數學方法為例,按照數學規則,如果在2~n-1中存在因子,則n不是素數。否則n為素數。

int is_prime(int n)//判斷n是否為素數。

在此基礎上,可以將判斷範圍優化為i <= n/2 或i <=sqrt(n)(sqrt為算數平方根函式)。

這樣可以減少判斷次數,提高效率。

9樓:匿名使用者

樓上的那複製來的?我的修改一下#includeint prime(int m)

main()

負數、0、 1都不是素數,所以輸入它們的時候顯示不是素數(素數是從2開始的)

c語言怎麼判斷一個數是素數 10

10樓:千山飛雪

判斷是否是質數bai最直觀和簡du

單的方法就是從2開始直zhi接除,能除盡dao(餘數為0)就不是質數。則

版c語言實權現為:

int isprime(int m)

{int i;

for(i=2;i該演算法的時間複雜度o(n)。

可以改進一下,根據如果一個數是合數,那麼它的最小質因數肯定小於等於它的平方根。用反證法可以證明一下。假設x是n的最小質因數,則存在n/x=p。

p>x,x*p=n。如果x不小於等於它的平方根,則x*x>n,而p>x,故x*p>n,假設不成立。合數是與質數相對應的自然數。

一個大於1的自然數如果它不是合數,則它是質數。也就是說如果一個數能被它的最小質因數整除的話,那它肯定是合數,即不是質數。所以判斷一個數是否是質數,只需判斷它是否能被小於它開跟號後的所有數整除,因此,這樣做的運算少了很多,降低了時間複雜度。

11樓:漢族小子當政委

不要拍照,直接copy**上來看吧。。。。看不清。。。

如何判斷數是不是素數,如何判斷一個數是不是素數????

黃河水十八彎 方法一 用試除法判斷一個自然數a是不是質數時,用各個質數從小到大依次去除a,如果到某一個質數正好整除,這個a就可以斷定不是質數 如果不能整除,當不完全商又小於這個質數時,就不必再繼續試除,可以斷定a必然是質數 方法二 只要找出x為一個奇數和一個偶數平方差的形式 這是一定的 便可以a2 ...

用c語言編寫“判斷數是否為完數”

飛喵某 2 首先是用scanf函式定義一個輸入數字的功能,然後判斷完數,通過取餘 的方法來進行判斷。如果判斷出來取餘結果為0,那麼就把這些因子全部加起來,得到因子的和和與n進行比較,如果相等,那麼就是完數,反之不是完數 最後需要輸出結果 3 最後使用快捷鍵crtl f5編譯除錯一下程式,開啟的命令列...

用c語言寫一個判斷數字是否是素數的函式

判斷一個整數m是否是素數,只需把m被 2 m 1 之間的每一個整數去除,如果都不能被整除,那麼m就是一個素數。思路1 的 include int main elsereturn 0 判斷方法還可以簡化。m不必被 2 m 1 之間的每一個整數去除,只需被 2 之間的每一個整數去除就可以了。如果m不能被...