1215 素數分解

2021-07-05 03:33:15 字數 704 閱讀 1220

素數分解

time limit:1000ms  memory limit:65536k

total submit:16 accepted:16

description

在這裡,我們要對乙個正整數進行分解,我們通常說的分解是指求乙個數的質因數,但是,我們發現有些數字可以分解成若干個質數的和,有趣的事,有這樣一些數,它可以分解成若干個連續素數的和,比如41,它可以分解成2+3+5+7+11+13, 11+13+17, 和41本身,

而3只能分解成3本身,20雖然可以分解成7+13和3+5+5+7,但他們不是連續的素數列,所以20不能被分解。我們的任務是,對乙個正整數,求出它有多少種方案可以被分解成連續素數和的形式。

input

測試包括多組,每行有乙個正整數n(2<=n<=100000),表示待分解的整數,輸入以0結束。

output

每行輸出乙個正整數t,表示對應的正整數可以有t種分解方案,如果沒有滿足條件的素數列,則輸出0

sample input

2317

4120

0

sample output

112

30

source

HDU1299 素數分解

include includeusing namespace std bool isprime 100000 int prime 10000 tot 0,temp,n long long ans int main int t scanf d t for int kase 1 kase t kase ...

素數分解和合數篩選

根據唯一分解定理,任何乙個數都可以分解成若干個素數的乘機,如下 factor i 0 存放分解的素數 factor i 1 存放對應分解的素數出現的次數 fatcnt存放分解出的素數的個數 相同出現的只算一次 include include using namespace std const int...

實驗6 9 素數分解(遞迴實現)

設計遞迴函式void void printfactor int,int 列印出對n進行素數分解的結果。當執行void printfactor 60,1 時,列印效果為 60 223 5。關於素數分解的描述,見講義。設計程式,已知一段資料範圍 a,b 且a b,要求對其中的每乙個數進行素數分解。你也可...