1樓:匿名使用者
#include ""
int sum=0;
int fun(int n)
for(int i=2;i<=n;i++)int flag=0;
for(int j=2;j<=i/2;j++)if(i%j==0)
flag=1;
break;
if(flag==0)
sum++;
return sum;
main()
int a;
scanf("%d",&a);
fun(a);
printf("%d",sum);
你這題目有點問題,比如第三空處伍巧賣塵的 if(count=2)條件判斷結果永遠為真,顯然有誤,上面的**可以求出質數個數,你可以參腔配鍵照著看看~
2樓:匿名使用者
。。都忘了什麼是質數了。。(o⊙)…
如何算出乙個數的所有質數
3樓:風林網路手遊平臺
1、找到這個數字的平方根m=√m
2、找到不大於m的所有質數。
3、在一張自然數表上劃掉所有質數的整數倍(質數本身不劃掉)4、把1劃掉。
5、沒有劃掉的數字就是質數。
例如,我們要找到100以內的所有質數,只需要按照下面的步驟進行:
1、計算100的平方根,是10。
以內的質數有
3、劃掉的整數倍。首先劃斗公升絕掉2的倍數,如,然後劃掉3的倍數,如,重複的就不需要再劃掉了。然後劃掉5的倍數,7的倍數。
4、最後劃掉1。
質數是怎麼算出來的
4樓:新科技
質數是通過因式分解算出來的,粗衫質數定義是在大於1的自然數中除了1和它本身以外不再有其他因數的數稱為質數。素數就是質數,即除了1和它本李凳乎身以外任何數都不能整除他的數。
質數的性質1)質數p的約數只有兩個:1和p。
2)初等數學基本定理:任一大於1的自然數,要麼本身是質數,要麼可以分解為幾個質數之積,且這種分解是唯一的。
3)質數的個數是無限的。
4)質數的個數公式π(n)是不減函式。
5)若n為正整數,在n2到(n+1)2之間至少有乙個質哪悉數。
6)若n為大於或等於2的正整數,在n到n!之間至少有乙個質數。
7)若質數p為不超過n(n>4)的最大質數,則p>n/2。
求質數的個數
5樓:網友
質數是數學重要的一環,所謂質數,就是除了1和它本身外不存在任何因子的數。以下整理了一下c語言中質數的求法。
問題:輸入乙個正整數n(n>=2),求不大於n的全部質數。
方法一:迴圈法。
思路:判斷乙個數n是不是質數,可以用2到√n之間的所有整數去除n,如果都不能整除,那麼n是質數。設計迴圈巢狀時儘量跳過一些不必要的情況。
1."2"為必輸出的質數,可以單獨輸出。這樣迴圈可從3到√n判斷。
2.為什麼只需要判斷到√n的數呢?
因為n=√n*√n,n的因數除了√n,其他都是成對存在的,且必定乙個大於√n乙個小於√n,假設n不是質數,有個因數大於√n(不是n本身),則n必定有乙個與之對應的小於√n的因數。
3.除了2以外,不存在是偶數的質數,所以在設計迴圈時可以設定步數step為2。
方法二:篩法(空間換時間)
思路:把2到n中的所有數都列出來,然後從2開始,先篩去n內所有2的倍數,然後每次從下乙個剩下的數(必然為質數)開始,篩去其n內所有的倍數,最後剩下的數都是質數。
1.設定乙個陣列a,a[i]的值為1表示i為質數,將所有元素初始化為1
2.篩去m的倍數,即把a[2*m]、a[3*m]…置為0
3.輸出a[i]值為1的i。
質數該怎麼求?
6樓:網友
乙個數,如果只有一和它本身兩個因數的,那麼我們把這樣的數稱作質數或素數。乙個數,如果除了一和它本身還有因數那麼我們把這樣的數稱作合數。如果要判斷乙個數是不是質數,就看他,除了一和它本身兩個因數外,還有沒有其他的因數就可以了。
7樓:何時明月老師
回答求質數的方法有非常多種。最簡單的方法是依據質數的定義來求。對於乙個自然數n,用大於1小於n的各個自然數都去除一下n。假設都除不盡。則n為質數,否則n為合數。
質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,沒法被其它自然數整除的數。換句話說,僅僅有兩個正因數(1和自己)的自然數即為素數。
8樓:司清墨
乙個數,如果只有他本身和一兩個因數,那麼這個數叫做質數,也叫素數。
9樓:須慈
不能求,只能背(o´罒`o)嘿嘿♡
質數的求法
10樓:費莫恆山媚
我會,因為根號餘扒100=10,所以,在小於100的所有奇數中,劃去3,5,7的倍數,所剩的數再添上2,即為100以內的質數,即2,3,5,7,11,豎搭昌13,17,19,23,31,枝局37,41,43,47,53,59,61,57,71,73,79,83,89,97共25個。
求質數的演算法
11樓:網友
質數的個數是無窮的。歐幾里得的《幾何原本》中有乙個經典的證明。它使用了證明常用的方法:
反證法。具體證明如下:假設質數只有有限的n個,從小到大依次排列為p1,p2,……pn,設n=p1×p2×……pn,那麼,n+1是素數或者不是素數。
如果n+1為素數,則n+1要大於p1,p2,……pn,所以它不在那些假設的素數集合中。
如果n+1為合數,因為任何乙個合數都可以分解為幾個素數的積;而n和n+1的最大公約數是1,所以n+1不可能被p1,p2,……pn整除,所以該合數分解得到的素因數肯定不在假設的素數集合中。
因此無論該數是素數還是合數,都意味著在假設的有限個素數之外還存在著其他素數。所以原先的假設不成立。也就是說,素數有無窮多個。
其他數學家給出了一些不同的證明。尤拉利用黎曼函式證明了全部素數的倒數之和是發散的,恩斯特·庫默的證明更為簡潔,hillelfurstenberg則用拓撲學加以證明。
對於一定範圍內的素數數目的計算。
儘管整個素數是無窮的,仍然有人會問「100,000以下有多少個素數?」,乙個隨機的100位數多大可能是素數?」。素數定理可以此問題。
什麼是質數合數素數翱怎麼定義呢,什麼是質數,合數,素數啊?怎麼定義呢?
1 質數 prime number 又稱素數,有無限個。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數 否則稱為合數。2 根據算術基本定理,每一個比1大的整數,要麼本身是一個質數,要麼可以寫成一系列質數的乘積 而且如果不考慮這些質數在乘...
兩個質數的和是39,求這兩個質數的積是多少
奇數 奇數 偶數,偶數 偶數 偶數,偶數 奇數 奇數。因為39是奇數,所以39 偶數 奇數。偶質數只能是2,另外一個質數 39 2 37。它們的積為2 37 74。解 1至39內的質數有 2,3,5,7,11,13,17,19,23,29,31,37,39 兩個質數的和是39,則這兩個質數是2和37...
在3,17,51這三個數中,什麼與什麼是互質數?
這道題中3和17是互質數。首先我們要了解什麼叫互質數?互質數指的是兩個或多個整數的公因數只有1的非零自然數,公因數只有1的兩個非零自然數。其中判定的方法有如下幾種。1 概念判斷法。公約數只有1的兩個數叫做互質數。根據互質數的概念可以對一組數是否互質進行判斷。如 9和11的公約數只有1,則它們是互質數...