c語言求素數公式,c語言函數求素數

本文目錄一覽:

c語言求素數的演算法

根據素數的性質,代碼設計如下:

設計一:判斷n是否能被1~n-1整除,不能整除為素數

#includestdio.h

int main()

{

int i, n;

scanf(“%d”, n);

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

{

if (n%i == 0)

break;

}

if (i n) printf(“This is not a prime.”);

else printf(“This is a prime.”);

return 0;

}

設計二:判斷n是否能被2~√n間的整數整除,不能整除為素數

#includestdio.h

#includemath.h

int main()

{

int n,i;

double k;

scanf(“%d”, n);

k = sqrt(n);

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

{

if (n%i == 0) break;

}

if (i =k) printf(“This is not a prime.”);

else printf(“This is a prime”);

return 0;

}

擴展資料:

1.素數的定義是只能被1和他本身整除,1不是素數.因此要判斷一個數是否為素數.就要判斷它能不能被比他小的所有素數整除,這是一個演算法.(寫到演算法時,我只能寫出用它除以比他小的所有數,造成運算速度低下)

2.如果一個質數大於根號n,而n可以除盡它,那麼n必然也可以除盡一個更小的質數。由此可以得到一個法2較快的素數判斷演算法

參考資料:百度百科-scanf

參考資料:百度百科-質數

C語言求素數

#includestdio.h

#includemath.h

void main()

{

    int x=100,d=999,a,i,temp;

    for(x;x=d;x++)

    {

        temp = 0;

        a=sqrt(x);

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

        {

            if(x%i==0)

            {

                temp = 1;

                break;

            }

        }

        if(temp == 0)

            printf(” %d “,x);

    }

}

c語言怎麼求素數

在C語言中求素數有很多種方法。剛入門的話,最基本的就是根據素數的定義來判斷一個數是不是素數。要判斷一個數n是不是素數,就用一個循環,從2一直到n -1,如果都不能整除n,那麼n就是一個素數,否則就不是素數。

改進一點的方法就是只要判斷到n/2就可以了。再高效一點的辦法,就只要判斷到根號n就可以了。判斷的依據是相同的。

如何求C語言素數?

如果一個數是素數,只要判斷他是否能被2到這個數的開方之間的數整除就行了。

int flag=0;

if(m==2){ //先判斷是不是2

flag=1;

}

else{

for(int i=2;i=sqrt(m);i++){

flag=1;

if(m%i==0){ //不是素數

flag=0;

break;

}

}

}

return  (flag==1)?m:-1; //判斷是否為1,為1輸出m,否則輸出-1 ,-1表示不是素數

如果是求某個範圍的素數,可以連續調用這個方法,上面是常規的方法,還有更好的方法自己去查一下。

c語言求素數的辦法?只需解題思路

/*求素數的三種方法

一:for(i=2;i=(n-1);i++)

if(n%i==0)i在2到n-1之間任取一個數,如果n能被整除則不是素數,否則就是素數

二:for(i=2;in/2;i++)

if(n%i==0) /*i在2到n/2之間任取一個數,如果n能被整除則不是素數,否則就是素數

三:for(i=2;i(n=sqrt(n));i++)

if(n%i==0) /*i在2到sqrt(n)之間任取一個數,如果n能被整除則不是素數,否則就是素數,在下省了下面的輸出步驟*/

/*在本程序中使用第三種方法來求解*/

#include stdio.h

#include math.h

int main(void)

{

int i; /*外循環*/

int j; /*內循環*/

int flag; /*素數標誌,flag為1則此數為素數*/

flag = 0;

//int n;

i = 2;

while( i = 100)

{

j = 2;

flag = 1; /*假設此數為素數*/

while(j = (int) sqrt(float(i)))

{

if(0 == (i %j))

flag = 0; /*根據第三種演算法可知次數不為素數*/

j ++;

}

if(flag)

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

i++;

}

printf(“\n”);

return 0;

}

c語言中如何求素數

思路:所謂素數是指只能被1和自身整除的數叫作素數,判斷素數就可以從2到該數減一依次判斷能否整除該數,如果能則不是素數,否則就是素數。

參考代碼:

#includestdio.h

int isp(int n)//判斷是否是素數,是返回1,否則返回0

{

int i;

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

if(n%i==0) return 0;

return 1;

}

int main()

{

int a;

scanf(“%d”,a);

if(isp(a))

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

else

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

return 0;

}

/*

輸出: 

89

89是素數

*/

原創文章,作者:QKTF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145567.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QKTF的頭像QKTF
上一篇 2024-10-27 23:51
下一篇 2024-10-27 23:51

相關推薦

  • 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

發表回復

登錄後才能評論