篩選法求質數(acm)
#include <stdio.h> bool a[2000005]; int main(){ int n; for(int i=2;i<=2000005;i++){ a[i]=1; } for(int i=2;i<=2000000;i++){ if(a[i]){ for(int j=i+i;j<=2000005;j+=i){ a[j]=0; } } } while(~scanf("%d",&n)){ if(n==0) break; for(int i=2;i<=n;i++){ if(a[i]==1){ printf("%d ",i); } } } return 0; }
相關推薦
篩選法求質數(acm)
#include <stdio.h> bool a[2000005]; int main(){ int n; for(int i=2;i<=2000005;i++){ a[i
C++篩選法求素數(簡單)
篩選法求素數經常是求解其他問題的前提 程式碼: #include <bits/stdc++.h> using namespace std; const int N = 10000
篩選法求素數(三種)
第一種:剔除2 3 4 5 6 ... ... 的倍數 在i從2開始的增一變化過程中,剔除i的倍數即j*i(j是大於等於2的自然數,j的上限是問題規模M) 為了減少重複步驟,可以每當i遞增到等於第一個沒有被剔除的(素)數時再剔除該數的倍數, 重複上述過程至i到達問題規模
篩選法求質數(註解)
由於一個合數總是可以分解成若干個質數的乘積,那麼如果把質數(最初只知道2是質數)的倍數都去掉,那麼剩下的就是質數了。 例如要查詢100以內的質數,首先2是質數,把2的倍數去掉;此時3沒有被去掉,可認為是質數,所以把3的倍數去掉;再到5,再到7,7之後呢,因為8,9,10剛
最小生成樹和倍增法求lca(Uva11354Bond)
#include<bits/stdc++.h> #define maxn 600000 #define inf (1124984) using namespace std; int head[maxn],book[maxn],deep[maxn],pre[maxn],fa[maxn],mxcos
python3練習題--求質數(素數)
題目:求100以內的質數(素數)。 程式碼: #!/usr/bin/python3 import math l = [ ] for a in range(1,100): for b in ra
python用遞迴篩選法求N以內的孿生質數(孿生素數)--附氣泡排序和插入排序練習
本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List,然後從第0位開始,如果後面的能被這個數整除,則從陣
java用遞迴篩選法求N以內的孿生質數(孿生素數)--附氣泡排序和插入排序練習
本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List<Integer>,然後從第0位開始,如
java用遞迴篩選法求N以內的孿生質數(孿生素數)
本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List<Integer>
groovy使用stream語法遞迴篩選法求N以內的質數(素數)--附氣泡排序和插入排序練習
本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,
python用遞迴篩選法求N以內的孿生質數(孿生素數)
本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,
求質數(Prime Number 素數)的方法——厄拉多塞篩法
質數又稱素數。指在一個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。換句話說,只有兩個正因數(1和自己)的自然數即為素數。比1大但不是素數的數稱為合數。1和0既非素數也非合數。合數是由若干個質數相乘而得到的。所以,質數是合數的基礎,沒有質數就沒有合數。
HDU Largest prime factor(埃拉托色尼篩選法求素數模板法改動)
題意:給你一個數,求它這個數的最大素因子在素數表的第幾位 思路:剛開始思路有一點錯誤,看錯誤程式碼 錯誤程式碼: #include <iostream>0 #include <cs
HD-ACM算法專攻系列(7)——排序
com clu ostream iostream stream 技術 spa space 排序 題目描述: 源碼: #include"iostream" #include"string" using namespace std; void Order(int
HD-ACM算法專攻系列(10)——大明A+B
next() http pla 分享 rgs pub system println sca 題目描述: 源碼: 需要註意的一點是輸出是最簡形式,需要去除小數的後導0,而調用stripTrailingZeros()函數後,數會以科學計數法輸出,所以需要調用toPlainS
HD-ACM算法專攻系列(14)——Quoit Design
name images 技術分享 dmi nsq com bool sig 經典問題 問題描述: 源碼: 經典問題——最近鄰問題,標準解法 #include"iostream" #include"algorithm" #include"cmath" using
HD-ACM算法專攻系列(17)——考試排名
+= bsp esp clas 排名 描述 cpp count person 問題描述: 源碼: 主要要註意輸出格式. #include"iostream" #include"iomanip" #include"algorithm" #include"s
HD-ACM算法專攻系列(23)——Crixalis's Equipment
true png cmp main print names ace esp 最大的 題目描述: AC源碼:此次考察貪心算法,解題思路:貪心的原則是使留下的空間最大,優先選擇Bi與Ai差值最大的,至於為什麽?這裏用只有2個設備為例,(A1,B1)與(A2,B2),假設先搬運
HD-ACM算法專攻系列(6)——Big Number
ostream math image main 代碼 bsp str fine sum 題目描述: 源碼: #include"iostream" #include"cmath" using namespace std; #define PI 3.1415926 #d
HD-ACM算法專攻系列(13)——How Many Fibs?
nbsp count alt 問題 ring oid sta brush div 問題描述: 源碼: import java.math.BigInteger; import java.util.*; public class Main { //主函數