蒜頭君請你求出區間 [l,
r]
[l,r]
[l,r
] 上距離最近的相鄰的素數對和距離最遠的相鄰的素數對。
3 ,5
3,53,
5 是相鄰的素數,2,5
2, 5
2,5 不是相鄰的素數。距離定義為 2
22 個素數的差的絕對值。比如5,7 距離為 2
。
輸入格式
輸入 2
22 個整數 l,r
(1≤l
≤r
≤8000000
)l, r(1 \le l \le r \le 8000000)
l,r(1≤
l≤r≤
8000
000)
輸出格式
如果 a,b
(ab)
a, b(ab)
a,b(ab
) 是距離最近的素數對,c,d
(cd)
c,d(cd)
c,d(cd
) 是距離最遠的素數對,按照如下格式輸出a,b are closest, c,d are most distant.
。
如果最近或者最遠有多對,輸出 a
aa 和 cc
c最小的。如果沒有相鄰是素數對,輸出there are no adjacent primes.
。
樣例輸入
3 10樣例輸出
3,5 are closest, 3,5 are most distant.樣例輸入
14 17樣例輸出
there are no adjacent primes.解:
所求素數對必須相鄰,且要儲存兩數。這樣需儲存6個變數,距離最大最小的左右值以及他們的距離。
選找前,先用向量vec
to
rvector
vectorem
ptemp
temp
來儲存前乙個質數。
**:
#include
"iostream"
#include
"vector"
#include
"algorithm"
using
namespace std;
intmain()
for(
int i =
2; i * i <= r;
++i)}}
for(
int i=l;i<=r;i++)if
(i-temp>max)
if(i-temptemp=i;}}
if(maxl==0)
else
return0;
}
計蒜客 素數個數
用 0,1,2,3 cdots 70,1,2,3 7 這 8 8 個數組成的所有整數中,質數有多少個 每個數字必須用到且只能用一次 開始的數字是非法數字 可以發現 5 7 11 13 17 19 23 29 31 37 41 43 只要數字大於5,這些素數就會出現6 x 1或是6 x 1的周圍。所以...
計蒜客 2019計蒜之道D
題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...
計蒜客 解碼
蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...