HDU 4548 美素數 解題心得

2022-09-17 16:54:15 字數 988 閱讀 1949

原題:

description

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

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

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

input

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

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

output

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

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

sample input

31 100

2 23 19

sample output

case #1: 14

case #2: 1

case #3: 4

分析:測試資料組數較多,時間只有1000ms ,所以只能打表解決

**:

#include#include

#include

using

namespace

std;

const

int n = 1000000 + 10

;int ans[n] = ;

intvis[n];

bool check(int

x)

if (vis[total] == 0

)

return1;

else

return0;

}int

main()

}for (int i = 1; i <= n; i++)

while (t--)

return0;

}

hdu4548 美素數(C語言)

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

HDU 4548 美素數(預處理)

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

hdu 4548 素數打表

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