當前位置:首頁 » 編程語言 » 用c語言判斷是否為素數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

用c語言判斷是否為素數

發布時間: 2022-01-18 01:32:13

① 如何用c語言編程判斷一個數是不是素數

方法一:

#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語言中判斷一個數是否為素數

f是一個標記,當他的值為1時,說明他能被某個不為1和它本身的數整除,也就是說你輸入的數不是素數,
至於那個i<=k和i>=k+1,如果你輸入的那個數M一直都不能被從2到sqrt(m)整除時,經過循環後i=K+1,就滿足i>=k+1,如果你輸入的數M能被從2到sqrt(m)的某個數整除時,i就不會>=k+1

③ 用C語言的編程:利用調用函數,判斷一個數是否是素數。

1、首先需要打開vs軟體工程,准備好一個空白的C語言文件,引入頭文件,主函數中暫時沒有內容:

④ 用c語言判斷一個數是否為素數

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int Judge(int x)
{
while(x>1)
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
if(x<=1)
return 0;
}

main()
{
int x;
printf("請輸入一個數:");
scanf("%d",&x);
switch(Judge(x))
{
case 0: printf("\n%d不是素數",x);break;
case 1: printf("\n%d是素數",x);break;
}
system("pause");
}

⑤ C語言編寫一個程序判斷一個數是否為素數急求

目的:判斷一個數是否為素數

#include<stdio.h>


intmain(void)


{


int m;


inti;


scanf("%d",&m);


for(i=2;i< m;i++) //2到(m-1)的數去除m


{


if(m%i==0)//判斷能否整除


break;

}

if(i== m)


printf("YES! ");


else


printf("No! ");


}

for循環的功能:

①若能整除,通過break跳出函數;

②若一直到m-1都不能整除,此時i再自增1到m,不滿足i< m跳出for循環,這時i= m。

(5)用c語言判斷是否為素數擴展閱讀:


素數定理:



1、在一個大於1的數a和它的2倍之間(即區間(a,2a]中)必存在至少一個素數。



2、存在任意長度的素數等差數列。



3、一個偶數可以寫成兩個合數之和,其中每一個合數都最多隻有9個質因數。(挪威數學家布朗,1920年)。



4、一個偶數必定可以寫成一個質數加上一個合成數,其中合數的因子個數有上界。(瑞尼,1948年)。



5、一個偶數必定可以寫成一個質數加上一個最多由5個因子所組成的合成數。後來,有人簡稱這結果為(1+5)(中國潘承洞,1968年)。



6、一個充分大偶數必定可以寫成一個素數加上一個最多由2個質因子所組成的合成數。簡稱為(1+2)。

⑥ 如何用c語言判斷一個數是不是素數

判斷一個整數m是否是素數,只需把m被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼m就是一個素數。思路1)的代碼:

#include <stdio.h>

int main(){

int a=0; // 素數的個數

int num=0; // 輸入的整數

printf("輸入一個整數:");

scanf("%d",&num);

for(int i=2;i<num;i++){if(num%i==0){a++; // 素數個數加1}}

if(a==0){printf("%d是素數。 ", num);}else{printf("%d不是素數。 ", num);}return 0;}

⑦ C語言編程判斷m是否為素數

/*Prime函數用來判斷參數m是否是素數,用的方法是用m被2~√m之間的整數除,看能不能整除。能整除,說明是合數,返回0,否則是素數,返回1。主調函數調用它,對輸入的整數n值進行判斷,看是否素數。*/
#include
<stdio.h>
#include
<math.h>
void
main()
{
int
IsPrime(int
m);
int
n,
flag;
printf("Input
n:");
scanf("%d",
&n);
flag
=
IsPrime(n);
if
(
flag)
printf("它是素數\n");
else
printf("它不是素數\n");
}
int
IsPrime(int
m)
{
int
i,
k;
if
(m
<=
1)
return
0;
for
(i=2;
i<(int)sqrt(m);
i++)
{
k
=
m%i;
if
(
k==0)
{
return
0;
}
}
return
1;
}

⑧ 用c語言判斷一個整數是否是素數

#include <stdio.h>

int isprime(int n)

{

int i;

if(n<2)

return 0;

for(i=2;i*i<=n;++i)

if(n%i==0)

return 0;

return 1;

}

int main()

{

int n;

scanf("%d",&n);

if(isprime(n))

puts("yes");

else

puts("no");

return 0;

}