problem 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: 14case #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...