ZJCOJ L先生與質數V4(數論)

2021-08-01 19:42:46 字數 1054 閱讀 7932

time limit: 1 sec  

memory limit: 16 mb

submit: 313  

solved: 71 [

submit][

status][

web board]

在解決了上乙個質數問題之後,l先生依然不甘心,他還想計算下更多範圍內的質數,你能幫助他嗎?(沒錯這題題面和v3一毛一樣)

有多組測試例。(測試例數量<70)

每個測試例一行,輸入乙個數字n(0

輸出測試例編號和第n個質數。

case x: y

123

4101000

case 1: 2

case 2: 3

case 3: 5

case 4: 7

case 5: 29

case 6: 541

思路:直接打表肯定超時,考慮分段打表,先離線搞搞,分若干個區間,找出n所在的區間,再從中篩出素數即可。

記下**,以後再繼續優化。

# include using namespace std;

const int maxn = 5e7;

int p[10000]=;

int l[333] = ;

int r[333] = ;

int a[190000];

void init()

}}int main()

int lb = rb==0?2:r[rb-1]+1;

if(rb > 0) n -= l[rb-1];

rb = r[rb];

for(int i=1; i<=p[0]; ++i)//區間左移。

//lb和rb為左右界。

int icount = 0;

for(int i=0; i<=rb-lb; ++i)}}

printf("case %d: %d\n",cas++,ans);

}return 0;

}

S先生與P先生謎題

美國史丹福大學的麥卡錫提出的 設有兩個自然數x y,2 x y 99,s先生知道這兩個數的和s,p先生知道這兩個數的積p,他們二人進行了如下對話 s 我確信你不知道這兩個數是什麼,但我也不知道。p 一聽你說這句話,我就知道這兩個數是什麼了。s 我也是,現在我也知道了。現在你能通過他們的會話推斷出這兩...

判斷質數與篩質數

一 判定質數 要判斷乙個數是不是質數,只需遍歷小於等於它的所有數,如果它能被除了1和本身之外的數整除,那麼它就不是質數。很簡單,暴力列舉,如下 1 bool is prime intx 2 但是還可以優化,對於乙個數 x 它有乙個約數 d 那麼 frac 也是 x 的約數,所以我們只需要列舉較小的乙...

L先生與階乘

沒錯,可憐的l先生又遇到了一道數學難題!n的階乘的末尾有多少個0?多測試例,處理到檔案結束。總測試例數量 15000 每行有乙個測試例,為乙個非負整數n 0 n 15000 每個測試例對應的輸出佔一行 1 230 00 思路 如果我們要判斷出0的個數,如果我們直接求n 那麼資料會很大,資料可能溢位,...