PTA 最強素數 字首和

2021-10-06 21:52:05 字數 900 閱讀 7462

小李在你幫助之下輕鬆戰勝了他的同學們,於是滿懷惡意的同學出了乙個題目來為難小李,作為小李神一樣的隊友,你又要出力了。 素數41能寫成連續6個素數之和:41=2+3+5+7+11+13。 現在要求n以內的素數中,能表示為最多連續素數之和的那個數,如果有多個答案,請輸出最大的那個素數。

僅一行,乙個整數n。

輸出就乙個整數,為所求的能表示為最多連續素數和的那個素數。

100
41
【樣例說明】 41=2+3+5+7+11+13 【資料規模】 30%的資料,1<=n<=1000 60%的資料,1<=n<=10000 80%的資料,1<=n<=100000 100%的資料,1<=n<=1000000

先求出小於等於n的所有的素數,用sum[i]陣列記錄前i個素數之和,然後遍歷每乙個區間,從區間寬度最長,字首和差最大向下遍歷,當第乙個數為素數時退出,表明找到了ans

#include

#include

#include

using

namespace std;

const

int maxn =

1e6+1;

typedef

long

long ll;

bool p[maxn]

;ll sum[maxn >>1]

;void

primer()

intmain()

for(

int l = n; l >=

1; l--

)//長度

for(

int j = n -

1; j >= l -

1; j--

)//右端點

}}

孿生素數(素數打表,字首和)

time limit 2 sec memory limit 128 mb 2013年5月華人數學家張益康在 數學年刊 中發表的一篇 解決世界性數學難題 孿生素數猜想。所謂孿生素數指的就是這種間隔為 2 的相鄰素數,它們之間的距離已經近得不能再近了,就象孿生兄弟一樣。最小的孿生素數是 3,5 在 10...

PTA判斷素數

注意 1 1不是素數 2 if flag 只要乙個值不是0,他就相當於真,0就是假 3 用sqrt平方根判斷素數,以防超時 n 根號n 根號n n的因數除了根號n,其他都是成對存在的,且必定乙個大於根號n乙個小於根號n 假設n不是質數,有個因數大於根號n 不是n本身 則n必定有乙個與之對應的小於根號...

PTA素數判斷

本題要求實現乙個判斷素數的簡單函式 以及利用該函式計算給定區間內素數和的函式。素數就是只能被1和自身整除的正整數。注意 1不是素數,2是素數。函式介面定義 int prime int p int primesum int m,int n 其中函式prime當使用者傳入引數p為素數時返回1,否則返回0...