hdu4548 美素數(C語言)

2021-08-04 23:39:03 字數 1012 閱讀 4985

problem description

小明對數的研究比較熱愛,一談到數,腦子裡就湧現出好多數的問題,今天,小明想考考你對素數的認識。

問題是這樣的:乙個十進位制數,如果是素數,而且它的各位數字和也是素數,則稱之為「美素數」,如29,本身是素數,而且2+9 = 11也是素數,所以它是美素數。

給定乙個區間,你能計算出這個區間內有多少個美素數嗎?

input

第一行輸入乙個正整數t,表示總共有t組資料(t <= 10000)。

接下來共t行,每行輸入兩個整數l,r(1<= l <= r <= 1000000),表示區間的左值和右值。

output

對於每組資料,先輸出case數,然後輸出區間內美素數的個數(包括端點值l,r)。

每組資料佔一行,具體輸出格式參見樣例。

sample input

3

1 100

2 23 19

sample output

case #1: 14

case #2: 1

case #3: 4

source

2013金山西山居創意遊戲程式挑戰賽——初賽(2)

c語言ac**

#include#includeint primer[350000];

int numbers[1000010];

int ans[1000010];

int n=1000000;

void primers()

{ int i,j,k;

k=0;

memset(numbers,0,sizeof(numbers));

for(i=2;i1篩素數法:①乙個素數的倍數不是素數②乙個數與它的素數的乘積必然不是素數,因為每個合數必然有乙個最小素因子③乙個數如果是素數的倍數,那麼該數就不能與它之後的素數相乘

2求素數的每位數字之和,用乙個迴圈對其求餘,迴圈相加即可

3記錄每個位置有幾個美素數

HDU 4548 美素數(預處理)

小明對數的研究比較熱愛,一談到數,腦子裡就湧現出好多數的問題,今天,小明想考考你對素數的認識。問題是這樣的 乙個十進位制數,如果是素數,而且它的各位數字和也是素數,則稱之為 美素數 如29,本身是素數,而且2 9 11也是素數,所以它是美素數。給定乙個區間,你能計算出這個區間內有多少個美素數嗎?第一...

HDU 4548 美素數 解題心得

原題 description 小明對數的研究比較熱愛,一談到數,腦子裡就湧現出好多數的問題,今天,小明想考考你對素數的認識。問題是這樣的 乙個十進位制數,如果是素數,而且它的各位數字和也是素數,則稱之為 美素數 如29,本身是素數,而且2 9 11也是素數,所以它是美素數。給定乙個區間,你能計算出這...

hdu 4548 素數打表

方法 篩法打表,再將是素數的中判斷是不是美素數。比較裸。但是就是一開始這樣做會超時。重新用乙個陣列來儲存到當前數字時已經出現了幾個美素數,最後將區間兩端所對應的相互減一下就可以了。include include include using namespace std define m 1000001...