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

尋找素數的c語言函數

發布時間: 2022-04-24 08:25:16

『壹』 用c語言的編程:利用調用函數,判斷一個數是否是素數。

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

『貳』 求素數(C語言)用函數

#include<stdio.h>

intsushu(intz);/*函數聲明最好放在外面,放到文件前端*/

voidmain()
{
intb,a;
printf("enteradate: ");
scanf("%d",&b);
a=sushu(b);
if(a==0||b==0)
printf("no ");
else
printf("yes ");
}
intsushu(intz)
{
inti,j;/*i和返回值要分開,i要做循環標尺的*/
for(i=2;i<z;i++)
{
if(z%i==0)
{
j=0;
break;/*一旦發現不是素數,跳出for循環*/
}
else
j=1;/*如果用i,就是個死循環,如果是素數,每次你把i=1後for循環一直繼續*/
}
returnj;
}

『叄』 c語言求素數

int fun(int n)
{ int a[10000], i,j, count=0;
/*將a數組賦值2-20*/
for (i=2; i<=n; i++)
a[i] = i;
i = 2;
/*將2到20之間2的偶數倍和2個偶數之和的數賦值0*/
while (i<n)
{
for (j=a[i]*2; j<=n; j+=a[i])
a[j] = 0;
i++;
/*判斷如果查找到得是已經被賦值為0的數則去尋找下一個數*/
while (a[i]==0)
i++;
}
printf("\nThe prime number between 2 to %d\n", n);
/*輸出在0-20之間的素數並用count計數*/
for (i=2; i<=n; i++)
if (a[i]!=0)
{
count++;
printf( count%15?"%5d":"\n%5d",a[i]);
}
return count;

『肆』 C語言中求素數的函數是不是isprime請問是怎麼用的 謝謝

c語言中沒有求素數的程序,你的自己編一個,判斷形參a是否為素數,若是素數,函數返回1,否則返回0。
int
isprime(int
a)
{
for
(int
i=2;i<=a/2;i++)
{
if
(a%i==0)
return
0;
}
return
1;
}

『伍』 c語言編寫函數判斷素數

/判斷是不是素數

#include<stdio.h>

int prime(int a);//函數聲明

int main()

{

int n,i;

scanf("%d",&n);

if(prime(n)==1) //return返回值1

printf("prime");

else

printf("not prime") ;

}

int prime(int a)

{

int i;

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

if(a%i==0)

return 0;//a%i==0不成立

else

return 1;//a%i==0成立

}

(5)尋找素數的c語言函數擴展閱讀:

素數的演算法

1、素數:除了1和本身外無法被其他自然數整除的數,叫做素數,也稱質數,如:2,3,5,7一系列。

2、合數:比1大但不是素數的數稱為合數,如:8,9,10一系列。

3、特殊的數字:1和0既不是素數也不是合數。

4、演算法: 1>確定性演算法 2>隨機性演算法 3>Eratosthenes演算法。

『陸』 用C語言如何判斷素數

素數又稱質數,所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。

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

思路2、判斷方法還可以簡化。

m 不必被2~m-1之間的每一個整數去除,只需被2~√m之間的每一個整數去除就可以了。如果 m 不能被2~√m間任一整數整除,m必定是素數。例如判別17是是否為素數,只需使17被2~4之間的每一個整數去除,由於都不能整除,可以判定17是素數。


原因:因為如果m能被2~m-1之間任一整數整除,其二個因子必定有一個小於或等於√m,另一個大於或等於√m。

例如16能被2、4、8整除,16=2*8,2小於 4,8大於4,16=4*4,4=√16,因此只需判定在2~4之間有無因子即可。


兩種思路的代碼請看解析。

拓展資料:

素數(prime number)又稱質數,有無限個。素數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。

C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。

網路——C語言

『柒』 用c語言編程序,用函數求素數,調用函數

#include<stdio.h>
#include<math.h>
//判斷是否為素數的函數
intisPrime(intn)
{
inti=2;
while(i<=(int)sqrt(n))
{
if(n%i==0)
return0;//不是素數,直接返回0
else
i++;
}
return1;
}
intmain()
{
intn,i;
printf("輸入一個正整數:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(isPrime(i))//調用函數,如果該數為素數,則輸出
printf("%d",i);
}
printf(" ");
return0;
}

示例運行結果:

輸入一個正整數: 50

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

『捌』 求"求素數的C語言程序"

#include <stdio.h>

int main()

{

int a=0;

int num=0;

int i;

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

scanf("%d",&num);

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

if(num%i==0){

a++;

}

}

if(a==0){

printf("%d是素數。 ", num);

}else{

printf("%d不是素數。 ", num);

}

return 0;

}

(8)尋找素數的c語言函數擴展閱讀:

質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。

基本演算法:若 k%m==0 則說明 k 不是素數。

判斷整數n是否為素數——採用枚舉法求解。

採用枚舉演算法解題的基本思路:

(1)確定枚舉對象、枚舉范圍和判定條件;

(2)枚舉可能的解,驗證是否是問題的解。

枚舉演算法的一般結構:while循環。

參考資料來源:網路-枚舉法




『玖』 用c語言編程序,用函數求素數,調用函數是什麼

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

int fun(int n)
{ int i;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}void main()
{
int n;
printf("請輸入一個數:\n");
scanf("%d",&n);
if(fun(n))
printf("該素數是:%d",n);
else
printf("該數不是是素數:\n");
}

『拾』 求素數的C語言程序!

素數,也叫質數,就是指除了1和該數本身以外,不能被其他任何整數整除的正數。

#include<stdio.h>#include<math.h>voidmain(){intm,k,i,n=0;for(m=1;m<=200;m=m+2){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1){printf("%5d",m);n=n+1;