乙個數由三個素數的和組成的方案數

2022-05-03 12:27:25 字數 683 閱讀 7669

題解:1、先判斷兩個素數w[i]、w[j]的和是否大於n-2,若小於則說明數字n不可能由三個素數組成(2是最小的素數)

2、再判斷n-w[i]-w[j]是否是素數

3、保證w[i]、w[j]、n-w[i]-w[j]是遞增的,避免重複計數

//

注意laz要和線段樹陣列開一樣大小

#include#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 40005

;int prim[maxn], w[maxn], cnt = 0;//

prim[i]起標記作用,prim[i]==0表示i是質數,注意這裡把1也標記成了質數

int x[maxn];//

x[i]表示偶數是i的符合條件的兩個質數是x[i]和i-x[i];

void

init() }

intmain()

}cout

}return0;

}

乙個zip檔案由這樣三個部分組成

乙個 zip 檔案由三個部分組成 壓縮原始檔資料區 壓縮源檔案目錄區 壓縮源檔案目錄結束標誌 1 壓縮原始檔資料區 在這個資料區中每乙個壓縮的原始檔 目錄都是一條記錄,記錄的格式如下 檔案頭 檔案資料 資料描述符 a 檔案頭結構 組成 長度 檔案頭標記 4 bytes 0x04034b50 解壓檔案...

寫乙個程式, 輸入三個數, 列印最大的乙個

2.寫乙個程式,輸入三個數,列印最大的乙個?a float input 請輸入第乙個數 b float input 請輸入第二個數 c float input 請輸入第三個數 d float input 請輸入第四個數 先假設 a 最大,用乙個變數把 a 繫結 zuida a 找到b,看看 b 知否...

三個數的和為0

給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則按照第二小的數排序。input 第1行,1個數n,n為陣列的長度 0 n 10...