關於求素數的代碼實現

關於求素數的算法
首先要再提一下素數的概念:素數也可以稱之爲質數,即只能被1或者素數本身整除的數。

也就是說可以通過取餘數來求素數,我後來寫了很多代碼,都得不到正確的結果,一直會無法把類似於9這樣的數排除。
後來做了很多更改,得到了一個新的思路,可以讓某個要判斷是否是素數的數從2開始除,把被除數的數值範圍控制在2~max(判斷數)之間,如果餘數爲0,且被除數==除數(要判斷的數)便將這個數視爲素數,思路大概如下圖:
流程框圖畫得有點渣,見諒...
代碼實現
C語言代碼:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i,j,max;
	scanf("%d",&max);
	for(i=2;i<=max;i++)
	{
		for(j=2;j<=i;j++)
			if(i%j==0)
				break;
	  	if(i==j)
			printf("%d\n",i);
	}
	/*我給定一個範圍,從2開始到max,每個數都進行判斷,如果是素數就輸出,如果不是就跳過*/
	system("pause");
	return 0;
}
	

python代碼:

def fun():
	max=int(input("enter:"))
	for i in range(2,max+1): #此處要加1,如果不加1,會有報錯(至少我是這樣...)
		for j in range(2,i+1): #同上
			if i%j==0:
				break
		if i==j:
			print("is:"+str(i))
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章