標籤:
問題 G: 超級素數(sprime)時間限制: 1 Sec 記憶體限制: 64 MB
提交: 51 解決: 12
[提交][狀態][討論版]題目描述
超級素數是指一個素數,每去掉後面一個數字,總能保證剩下的數為質數,例如:
373->37->3
這是一個長為3的超級素數。
輸入
輸入一個整數n (10≤n≤108)。
輸出
從小到大輸出所有小於等於n的超級素數,每個超級素數之間留一個空格。末尾也有一個空格
範例輸入
10
範例輸出
2 3 5 7
現在我看到關於數學方面的直接沒有了免疫力,感覺頭都大,應該用搜尋的題,大了表預先處理也過了,這次的題全是搜尋,看到數學知識,直接都song了、、、
#include <cstdio>using namespace std;int s[83]={2,3,5,7,23,29,31,37,53,59,71,73,79,233,239,293,311,313,317,373,379,593,599,719,733,739,797,2333,2339,2393,2399,2939,3119,3137,3733,3739,3793,3797,5939,7193,7331,7333,7393,23333,23339,23399,23993,29399,31193,31379,37337,37339,37397,59393,59399,71933,73331,73939,233993,239933,293999,373379,373393,593933,593993,719333,739391,739393,739397,739399,2339933,2399333,2939999,3733799,5939333,7393913,7393931,7393933,23399339,29399999,37337999,59393339,73939133};int main(){ int n,num=0; //freopen("data.out","w",stdout); scanf("%d",&n); for(int i=0;i<83;i++){ if(s[i]<=n) printf("%d ",s[i]); else break; } printf("\n");}
超級素數(sprime)