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

怎麼判斷一個數為素數c語言

發布時間: 2022-04-04 05:35:53

⑴ 用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語言中怎麼判斷一個數是否是素數

設置一個循環,用一個2至這個數的平方根(取較大整數)數去除這個數,不存在任意一數可整除,則這個數就是素數,否則不是。如:

for(i=2;i*i<=n;i++)
if(n%i==0)
break;
if(i*i>=n)
printf("%d是素數 ",n);
else
printf("%d不是素數 ",n);

⑶ 用C語言怎樣判斷一個自然數為素數

//判斷一個數是否為素數
#if
0
#include<stdio.h>
#include<math.h>
int
main()
{
int
i=2,n,k;
printf("Enter
n:\n");
scanf("%d",&n);
k=sqrt(n)+1;
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
if(i>=k)
printf("%d
is
prime
number\n",n);
esle
printf("%d
is
not
prime
munber\n",n);
}
}
#endif
這是我以前上機運行過的,你可以看一下,還有跟這相關的,你也可以看一下。
//輸出2-100之間的所有素數,(質數)
#if
0
#include<stdio.h>
int
main()
{
int
i,n,t=0;
for(n=2;n<=100;n++)
{
i=2;
while(i<n
&&
n%i
!=0)
i++;
if(i==n)
{
printf("%d\t",n);
//注意\t
t++;
if(t%8==0)
printf("\n");
}
}
}
#endif
//統計整型數組a中素數的個數
#if
0
#include<stdio.h>
int
a[10]={1,2,3,4,5,6,7,8,9,10};
int
isprime(int
m)
{
int
i;
for(i=2;i<m/2;i++)
if(m%i==0)
return
0;
return
1;
//如果不是素數,返回0,返回1
}
main()
{
int
num_prime=0;
int
i;
for(i=0;i<10;i++)
if(isprime(a[i]))
{
num_prime++;
printf("a[%d]",i);
printf("%-8d",a[i]);
}
printf("\n
prime
number:%d\n",num_prime);
}
#endif
運行的時候把#if0
和#endif
去掉,你可以試試啊

⑷ c語言:判斷一個數是否為素數

經過vc調試了。如有不懂得地方可以在問我。
#include <stdio.h>
#include <math.h>
int prime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)break;
if(i>sqrt(n))return 1;
else return 0;
}
void main()
{
int n;
printf("Input a number:");
scanf("%d",&n);
if(prime(n))printf("Yes\n");
else printf("No\n");
}

⑸ 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語言編程,判斷一個數是不是素數

判斷一個數是否是素數

#include "math.h"
int su(long x)
{
int i;
if(x%2==0) return 0;
else
for(i=3;i<sqrt(x);i+=2)
if(x%i==0) return 0;
return 1;
}

判斷素數,若是就返回1,否則就返回0,先看能不能被2整出,若整除肯定不是素數,如不整除就看它能不能被3,5,7,9。。。一直到sprt(x),整除。若整除就不是素數

⑺ 如何用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語言

#include<stdio.h>
intprime(intn){
inti=0;
if(n==0||n==1)return0;
for(i=2;i*i<=n;i++){
if(n%i==0)return0;
}
return1;
}
intmain(){
intn;
printf("請輸入一個整數:");
scanf("%d",&n);
if(prime(n))printf("%d是一個素數!",n);
elseprintf("%d不是一個素數!",n);
return0;
}

⑼ 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語言,如何判斷素數

break跳出的是離它最近的一個for循環,
break後面還要加 if(j>half)的內容是用來計算素數個數和素數和的,後面的計算沒有用到half,只是用來判斷的條件。