關於c語言找質數,用c語言求質數

本文目錄一覽:

請把你們所知道的C語言中找質數的算法都編出來告訴我,拜託了!

//以前朋友寫的一段C的,效率很高,我自己寫的不及他

//Problem: Prime Ring Problem

//00:00.71 436K

//戴帽子的 2004-04-22

//=============================

#include iostream

#include ctime

#include fstream

using namespace std;

/*

#define cout out

ofstream fout(“time.txt”);

ofstream fin(“hziee.txt”);

ostream out = fin;

ostream timeout = fout;

*/

ofstream fin(“hziee.txt”);

int kase;

bool P[21][21];

short in[21];

short result[20];

short N;

bool Prime(int n)

{

int i;

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

if(n%i==0)

return false;

}

return true;

}

void initial()

{

int i,j;

kase = 0;

for(i=1; i21; i++){

for(j=i; j21; j++) {

P[i][j] = Prime(i+j);

P[j][i] = P[i][j];

}

}

}

void Print()

{

int i;

for(i=0; iN-1; i++)

finresult[i]” “;

finresult[i]endl;

}

void hziee(int k)

{

int i;

if(k == N)

{

if(P[result[0]][result[N-1]])

Print();

return;

}

for(i=result[k-1]%2 + 1; i=N; i += 2) {

if(in[i])

continue;

if(P[result[k-1]][i]) {

result[k] = i;

in[i] = true;

hziee(k+1);

in[i] = false;

}

}

}

int main()

{

int i;

clock_t start, end, start1, end1;

start = clock();

initial();

end = clock();

cout double(end – start) / CLK_TCK endl;

in[1]=true;

result[0]=1;

cinN;

start1 = clock();

fin”Case “++kase”:”endl;

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

in[i] = false;

if(N%2 == 0)

hziee(1);

finendl;

end1 = clock();

fin double(end1 – start1) / CLK_TCK endl;

return 0;

}

關於C語言找質數

#includestdio.h

#includemath.h

void main()

{

int i, j, n, l, m = 0;

printf(“你需要小於多少的質數:\t”);

scanf(“%d”, n);

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

{

l = 1;

for(j = 2; j = sqrt((double)i); j++)

{

if(i % j == 0){l = 0; break;}

}

if(l == 1){

printf(“%d “, i);

m++;

}

}

printf(“一共有%d個這樣的樹”, m);

}

c語言~找質數的問題~

明白了你的思路 可是按你的思路 你自己的算法有問題 我改了下你可以參考下 算法不是唯一的,你可以看看其他的算法 會比這個簡單:)

從for循環開始改的

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

{

while((j=i))

{

if(i%j == 0)//要用if 不然算法不對

{

sum = sum + j;

}

j=j+1;//要在這裡,可以確保不進入死循環

}

if (sum==i)

{

printf(“Sum of divisors for %d is %d\n”, i, sum);

}

sum=0;//sum要清零

j=2;//j要清零

}

return 0;//應該返回個值 你定義的是int main()

}

用C語言編寫求質數的程序

//我分別寫出了求素數和判斷素數的程序

/*

//判斷一個數是否為素數

#includestdio.h

#includemath.h

int isprime(int);

void main()

{

int inumber;

printf(“請輸入一個非負整數: “);

scanf(“%d”,inumber);

if(isprime(inumber))

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

else

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

}

int isprime(int a)

{

int i;

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

if(a%i==0)

return 0;

return 1;

}

*/

/*****************************************************/

//求某個正整數以內的素數

#include”stdio.h”

#include”math.h”

int main(void)

{

int count,i,m,n,num;

printf(“請輸入所求範圍(正整數): “);

scanf(“%d”,num);

count=0;//count記錄素數的個數

printf(“%d以內的素數為:\n”,num);

for(m=2;m=num;m++)

{

n=sqrt(m);

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

{

if(m%i==0)

break;

}

if(in)//如果m是素數

{

printf(“%6d”,m);

count++;

if(count%10==0)//count為10的倍數時換行

printf(“\n”);

}

}

printf(“\n”);

return 0;

}

如何用窮舉法在1—100之間找出所有的質數用C語言編程實現

對1-100的所有數進行遍歷,逐一判斷每個數是否為素數。

判斷素數的算法有很多,比較基礎的是逐一求余,如果除了1和本身外,還有其它數可以整除那麼就不是素數。

代碼如下:

#include stdio.h

int main()

{

    int i, j;

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

    {

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

        {

            if(i%j==0) break; //可以整除, 退出循環。代表不是素數。

        }

        if(j == i)//沒有提前退出循環,代表是素數,打印。

            printf(“%d,”, i); //打印i值。

    }

    

    return 0;

}

用C語言找出2—100的以內所有的質數。

使用循環結構,除了2以外的偶數直接排除掉,因為不可能是質數,for(i=3;i=100;i=i+2){for(m=2;m=i;m++)下面的就自己進行判斷吧,用i求余m,如果餘數為0就說明不是,其餘的自己想吧,編程這個東西還是要靠自己

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JRSZ的頭像JRSZ
上一篇 2024-10-03 23:50
下一篇 2024-10-03 23:50

相關推薦

  • AES加密解密算法的C語言實現

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

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

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

    編程 2025-04-29
  • Python如何判斷質數和異常處理

    本文主要介紹Python如何判斷質數和異常處理,其中包括多個方面的內容。 一、判斷質數 1、定義:質數是指除了1和它本身兩個因數外,沒有其他的因數。 2、判斷方法: (1)從2到n…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 編程找出100以內的質數並求和

    本文將會介紹如何使用編程語言找出100以內的所有質數並求和。而質數,指的是只能被1和它本身整除的數字。 一、判斷質數的算法 要找出100以內的質數,首先要搞清楚什麼是質數,以及如何…

    編程 2025-04-28
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28

發表回復

登錄後才能評論