poj3006 Dirichlet‘s Theorem on Arithmetic Progressions(質數,空間換時間)
題意:
一個序列a, a+d,a+2d,……,a+nd;
給定a,d,n,找出第n個素數
有了之前的經驗,直接空間換時間
#include<cstdio>
#include<string.h>
#include<algorithm>
#include<cmath>
#define MAXN 1000000
using namespace std;
bool is_primes[MAXN];//判斷質數
int primes[MAXN];//質數陣列,從1開始
int prime_count;//質數數量
void GetPrimes(int n){
int k = 0;
memset(is_primes, true, sizeof(is_primes));
is_primes[1] = false;
for (int i = 2; i <= n; i++){
if (!is_primes[i])
continue;
primes[++k] = i;
for (int m = 2; m*i <= n; m++)
is_primes[m*i] = false;
}
prime_count = k;
}
int main()
{
int a, d, n;
GetPrimes(MAXN);
while(scanf("%d%d%d", &a, &d, &n), a + d + n){
int num = 0, sum = 0;
while(n){
sum = a + num * d;
if(is_primes[sum]) n--;
num++;
}
printf("%d\n", sum);
}
return 0;
}
相關文章
- OLAP 伺服器,空間換時間可行嗎?伺服器
- UNDO表空間空間回收及切換
- 掌握時間與空間:深入探討Golang中的時間戳與時區轉換Golang時間戳
- 檢查交換空間: 可用的交換空間為 0 MB, 所需的交換空間為 150 MB。 未通過
- Excel中時間戳轉換時間Excel時間戳
- 時間相減和時間轉換
- 時間與空間複雜度分析複雜度
- 坑系列 — 時間和空間的平衡
- 時間換算
- 時間轉換
- Oracle Temp 表空間切換Oracle
- 2-色彩空間轉換
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- Linux交換空間swap講解Linux
- 【月光寶盒get√】用時間置換空間,聊聊稀疏陣列的那些事兒陣列
- 時間複雜度跟空間複雜度時間複雜度
- 時間複雜度與空間複雜度時間複雜度
- 時間複雜度和空間複雜度時間複雜度
- 時間戳與時間字串的多時區轉換時間戳字串
- 查詢時若時間為空,開始時間取今天的零點,結束時間取當前時間
- Runloop有效利用空閒時間OOP
- 16、表空間 建立表空間
- mysql時間與字串之間相互轉換MySql字串
- python中的時間轉換,秒級時間戳轉string,string轉時間Python時間戳
- 大資料匯入之MySql設計之空間換時間的設計變更大資料MySql
- C語言高效程式設計的四大祕技之以空間換時間C語言程式設計
- PAT乙級1026程式執行時間(秒數轉換為時間)(值得學習)
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 臨時表空間和回滾表空間使用率查詢
- 時間相差秒數_Golang 時間操作大全Golang
- 冰與火之歌:「時間」與「空間」複雜度複雜度
- ORACLE線上切換undo表空間Oracle
- Java之時間轉換Java
- [時間格式的轉換]
- 工具方法:時間轉換
- 轉換UTC時間格式