POJ 3292 Semi-prime H-numbers(篩法變形)
我只能說這個水篩法寫了我兩個小時。。沒有愛了。
#pragma warning(disable:4996) #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std; const long long N = 1000001; long long H[300000]; int tol; bool prime[300000]; bool semi[300000]; int ans[300000]; int main() { tol = 0; for (int i = 0; 4 * i + 1 <= N; i++) { H[tol++] = 4 * i + 1; } memset(prime, true, sizeof prime); prime[0] = false; for (int i = 1; i < tol; i++) { if (prime[i]) { int s = 1; long long j; for (j = H[s] * H[i]; s < tol&&j <= N; j = H[i] * H[s]) { prime[(j - 1) / 4] = false; s++; } } } memset(semi, false, sizeof semi); for (int i = 1; i < tol; i++) { if (prime[i]) { for (int j = 1; j < tol; j++) { if (prime[j]) { long long tmp = (long long)H[i] * H[j]; if (tmp <= N) { semi[(tmp - 1) / 4] = true; } else break; } } } } memset(ans, 0, sizeof ans); for (int i = 1; i < tol; i++) { ans[i] = ans[i - 1]; if (semi[i])ans[i]++; } int h; while (scanf("%d", &h)) { if (!h)break; int id = (h - 1) / 4; printf("%d %d\n", h, ans[id]); } return 0; }
相關推薦
POJ 3292 Semi-prime H-numbers(篩法變形)
我只能說這個水篩法寫了我兩個小時。。沒有愛了。 #pragma warning(disable:4996) #include <cstdio> #include <cstring&g
POJ 3292 Semi-prime H-numbers(類素數篩法)
Description This problem is based on an exercise of David Hilbert, who pedagogically suggested tha
UVA11005 Semi-prime H-numbers(篩法)
Problem A: Semi-prime H-numbers This problem is based on an exercise of David Hilbert, who pedagogically suggested that one study the theory of 4n+1 num
POJ:3292-Semi-prime H-numbers(艾氏篩選法拓展)
Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10466 Accepted: 4665 Description
3292 Semi-prime H-numbers(素數篩法)
先求所有的H-pirme,所有的H-prime兩兩相乘打表。 注: 1、H-numbers是所有除以4餘1的數,而H-prime則是隻能在這些H-numbers中分解因式只得到1*本身的數(1除外)。所以9也是H-prime(原來理解錯了)。 2、 H-semi-prim
POJ 3292 Semi-prime H-numbers
初始 table cin isp == padding edi tco turn 題意: H_Number 是一個比4的倍數多1的數,即4n + 1。H_Number 分為 H_Prime 和 H_Comosite。其中 H_Prime 僅能由1×h組成,而 H_Compo
POJ3292 UVA11105 Semi-prime H-numbers【篩法打表】
問題簡述:參見上述連結。 問題分析: H-number:4n+1的數,n>=0,例如1,5,9,13,17,21,......。 H-prime:H-number數並且其因子只有1和它本身。 H-semi-prime:兩個H-prime的乘積。 H-composit
poj3292——Semi-prime H-numbers(數論)
Description This problem is based on an exercise of David Hilbert, who pedagogically suggested that one study the theory of 4n+1 n
Poj 3292(篩法變形)
Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6750 Accepted: 2
3292(Semi-prime H-numbers)素數篩法的擴充套件
題目大意: 給定4n+1數(1、5、9、13、……)。將這些數分為unit(即為1)和prime(不是真正的素數),composite。規定一個semi-prime數為可為兩個prime數乘積。題目給定一個4n+1數,要判斷1~4n+1數之間(包含1和該4n+1數)的所有
【POJ 3292】 Semi-prime H-numbers
遍歷 ems const art cstring times article blank %d 【POJ 3292】 Semi-prime H-numbers 打個表 題意是1 5 9 13...這樣的4的n次方+1定義為H-numbers H
POJ3292 Semi-prime H-numbers [數論,素數篩]
pos lib The bool sed out soft product -s 題目傳送門 Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Su
SXYBT-0102H數(Semi-prime H-numbers)
一道很棒的數學題。 思路:先篩出“素數”,然後將“素數”兩兩相乘,枚舉出範圍以內的“合成數”,再計算字首和。最後直接輸出。 #include<iostream> #include<cstring> #include<cmath> #define INF 10000
(POJ3292)Semi-prime H-numbers
Semi-prime H-numbers Description This problem is based on an exercise of David Hilbert, who pedagogically suggested that one stud
JD 題目1040:Prime Number (篩法求素數)
rime 簡單 set end std tdi href num mod OJ題目:click here~~ 題目分析:輸出第k個素數 貼這麽簡單的題目,目的不清純 用篩法求素數的基本思想是:把從1開始的、某一範圍內的正整數從小到大順序排列
hdu 5108 Alexandra and Prime Numbers(唯一分解定理)
【唯一分解定理】 任意一個大於1的正整數都能表示成若干個質數的乘積,且表示的方法是唯一的。換句話說,一個數能被唯一地分解成質因數的乘積。因此這個定理又叫做唯一分解定理。 公式:n = P1^a1 *
poj 1320 Street Numbers (佩爾方程)
題目連結:哆啦A夢傳送門 佩爾方程:參考連結:維基 最小解,記作(x1,y1),則所有的解(xi,yi)由以下的遞迴關係式得到: 。 題意:求滿足1+2+3+……+(n-1)=(n+1)+(n+2)+……+m的前10項n和m。 我們化簡可得: 那麼就可以得結果
POJ 3421 X-factor Chains(數論)(篩法)()
X-factor Chains Time Limit:1000MS Memory Limit:65536K Total Submissions:6370 Accepted:1973 Descr
2017CCPC中南地區賽 H題(最長路)
main art spa fine sca using push_back ear 端點 題目地址:202.197.224.59/OnlineJudge2/ 來自湘潭大學OJ,題號:1267。 這裏用到了一個樹的直徑(樹中的最長邊)的結論:當你找到一棵樹的最長邊後,這個樹中
lightoj 1095 - Arrange the Numbers(dp+組合數)
鏈接 簡單 turn amp using ace ring ++ ber 題目鏈接:http://www.lightoj.com/volume_showproblem.php?problem=1095 題解:其實是一道簡單的組合數只要推導一下錯排就行了。在這裏就推導