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
1234101000
case 1: 2case 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 那麼資料會很大,資料可能溢位,...