導航:首頁 > 源碼編譯 > 求素數的演算法

求素數的演算法

發布時間:2022-01-12 05:06:29

㈠ c語言 求素數的演算法!!!(要更快點的方法)

10000以內的素數:
#include <stdio.h>
main()
{
int n,i;
for(n=3;n<=10000;n++)
{
for(i=2;i<n;i++)
if(n%i==0) break;
if(i>=n)
printf("%d,",n);
}
}

㈡ 計算機C語言求素數演算法,

這個有很多種

  1. 常用的 判斷除以2.,除以。。。。。 這適用於判斷具體的某個數組

  2. 剔除法 除以2的時候 把2的倍數全部剔除 以此類推。。。 這適合求多個

  3. 已有查找法,用文件數組保存一些素數,為方便使用直接查找 這個屬於取巧類型嚴格不算演算法

  4. 還有其他比較高級一些的演算法這個可以具體找找

㈢ 實現用於計算素數的演算法

#include <stdio.h>
void main()
{
int num[10] = {2,3,4,5,6,7,8,9,10,11};
int *temp = num; // 用於臨時存放素數
int j=0;

for(int i=0;i<10;i++)
{
if(num[i]%2 != 0 )
{
*temp++ = num[i];// 不是2的倍數,就放入temp中
j++; // 用於記錄素數的個數,以便之後的循環使用
}
}
for(int i=0;i<j;i++)
{
printf("%d\n",temp[i]);// 輸出所有素數
}

}

㈣ 求100以內的素數的演算法

談不上演算法:

#include<iostream>
using namespace std;
int main()
{
int a,b,c,ipt;
for (c=1;c>0;c++)
{
do
{
cout<<"請輸入你所想要的大於一的素數范圍:";
cin>>ipt;
} while (ipt<=1);

for (a=2;a<=ipt;a++)
{
for (b=2;b<=a;b++)
{
if (a%b==0)
{
break;
}
}
if (a==b)
{
cout<<a<<"\t";
}
}
cout<<endl;
}
return 0;
}

㈤ C++求素數的演算法

#include<iostream.h>
void main()
{
int i,j;
cout<<"輸出100以內的素數"<<endl;
cout<<"100內的素數為"<<endl;
for(i=1;i<=100;i++)
{for(j=2;j<i;j++)
{if(i%j==0)
break; }
if(i==j)
cout<<" "<<i;}
}
素數的范圍通過修改100就行了

㈥ c語言素數的演算法

思路如下:
1、求2-n之間的所有素數
2、創建一個數組a[n+2],其下表為2...n+1
3、數組的功能是記錄那些數十素數,其下標表示素數,元素初始化時全為1,表示全部數假設都是素數
4、從2開始往後訪問數組的每一個元素,如果這個數十素數就輸出,否則往後遍歷
5、遍歷的同時如果這個數i是素數,則進一步往後將這個數的倍數2*i,3*i,....將這些數都標記為0表示不是素數 6、執行完畢將輸出所有素數了

㈦ 求素數的最簡便的演算法程序

S1:定義2個變數N
R

S2:N=1

S3:輸入的數被N整除
余數為r

S4:R=0則
輸入的數不為素數
結束

S5:R!=0
N=N+1
TO
S3

S6:N<輸入的數
輸入的數為素數

㈧ C語言語句如何實現計算素數的演算法

從2到Sqrt(這個數)去除這個數,如果有任何一個除得開就不是,否則就繼續做

㈨ 一個求素數的演算法

t從0到cap^2-1
i從0到cap-1
j從0到i
實際上這里cap起的作用僅僅為了使i和j滿足:i從0到cap-1,j從0到i
實際上composite為j從2到i-1時整除i的個數
當j=0時,使composite重置為0
當j=i時,開始判斷
每次j能整除i,composite則增加1,到時就不會輸出i
當2到i-1的j都不整除i,此時i為素數,composite為0,可以將其輸出

希望你能看明白
不懂的話
還可以問的
一般晚上十點我都有空

㈩ 素數的計算,簡單啊

/*看完求助,我只能無語啦。
這題目是簡單的,你的循環的初始值錯誤,而且代碼效率較低,我這個可能較高。並且,你的代碼風格改改了。
*/
#include <math.h>
#incle <stdio.h>

int main()
{
int num;
scanf("%d", &num);

int i, j, jj, count;
for(i = 2; i <= num; ++i)
{
count = 0;
jj = (int)sqrt(i);
for(j =2; j <= jj; ++j)
{
if(i % j == 0 )
{
count ++;
break;
}
}
if(count == 0)
{
printf("%4d", i);
}
}

return 0;
}

閱讀全文

與求素數的演算法相關的資料

熱點內容
myeclipse命令行 瀏覽:126
小謝解壓 瀏覽:139
h264編碼器源碼 瀏覽:664
有什麼辦法翻錄加密視頻 瀏覽:666
java數據結構與演算法面試題 瀏覽:977
解壓不了是什麼意思 瀏覽:359
紐西蘭編程師年薪 瀏覽:321
程序員為什麼大多生閨女 瀏覽:51
c編程用英文還是中文 瀏覽:723
一點都不解壓的游戲 瀏覽:203
解壓為什麼不能用中文文件夾 瀏覽:615
伺服器如何解除備份 瀏覽:144
安卓手機為什麼用一年就變卡 瀏覽:11
如何用風變編程自動回復 瀏覽:512
安卓閱讀幣怎麼樣 瀏覽:437
京東app怎麼切號 瀏覽:583
進入傳奇伺服器後如何修改 瀏覽:42
m0單片機的cycle怎麼知道 瀏覽:806
linux命令太長 瀏覽:782
壓縮機nb1111y是多少w 瀏覽:45