c語言定義判斷素數的函數,C語言編寫一個判斷素數的函數

本文目錄一覽:

用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

int jugde(int x)

{

    int i;

    if(x  2)

        return 0;

    

    for(i = 2; i = sqrt(x); ++i)

        if(x%i == 0)

            return 0;

            

    return 1;

}

int main()

{

    int i;

    for(i = 101; i  1000; i+=2)

        if(jugde(i) == 1)

            printf(“%d “, i);

            

    return 0;

}

C語言如何使用自定義函數判斷素數?

#include stdio.h

int fun(int x)//

{

if(x2)

return 0;//返回0,非素數

for(int i=2;i*i=x;i++)

if(x%i==0)

return 0;

return 1;//返回1,素數

}

int main()

{

int n;

scanf(“%d”,n);

if(fun(n)==1)

printf(“%d是素數\n”,n);

else

printf(“%d不是素數\n”,n);

return 0;

}

c語言編程:設計一個函數用於判斷一個數是否為素數,如果是素數返回1,否則返回0。

源程序代碼以及算法解釋如下:

#define _CRT_SECURE_NO_WARNINGS

#includestdio.h

int Func(int m)//判斷函數

{

int n = 2;

while (n = m (m%n))//判斷是否能被其他數整除

n++;

if (m == n)

return 1;

else

return 0;

}

int main()

{

int M_num;//定義變量

printf(“請輸入需要判斷的數:\n”);//文字提示

scanf(“%i”, M_num);//循環輸入數組元素

int i = Func(M_num);//判斷是否是素數

if (i == 1)//輸出結果

printf(“輸入的數是素數”);

if (i == 0)

printf(“輸入的數不是素數”);

printf(“\n”);

return 0;

}

程序運行結果如下:

擴展資料:

輸出1-100之間的所有素數程序如下:

#includestdio.h

int PrimeNumer(int x) //定義一個函數判斷

{

assert(x 0);  //判斷

int i;   //被除數

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

{

if (x%i == 0)

{

return 0;            //表示正常終止

}

}

return 1;       //只是給主調函數一個標誌,說明他的執行過程中遇到異常情況。 然後就返回主調函數來處理,繼續執行。 

}

int main()

{

int i,a;

int count = 0;

for (i = 2; i 101; i++)

{

if (PrimeNumer(i))                           //調用函數來判斷

{

count++;                             //加入了一個計數器

printf(“%d\n”, i);

}

}

printf(“素數出現的次數%d”, count);

system(“pause”);

return 0;

}

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

int isprime(int a)//判斷素數的函數

{

int i;

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

if(a % i == 0)

break;

if(a == i)

return 1;

else

return 0;

}

int main(void)

{

int a;

if(isprime(a))

printf(“%d是素數”,a);

else

printf(“不是素數”);

printf(“\n”);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/293568.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 13:14
下一篇 2024-12-26 13:14

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29

發表回復

登錄後才能評論