神奇數 牛客網習題

2021-08-02 10:05:30 字數 1206 閱讀 1452

給出乙個區間[a, b],計算區間內「神奇數」的個數。

神奇數的定義:存在不同位置的兩個數字,組成乙個兩位數(且不含前導0),且這個兩位數為質數。

比如:153,可以使用數字3和數字1組成13,13是質數,滿足神奇數。同樣153可以找到31和53也為質數,只要找到乙個質數即滿足神奇數。 

輸入描述:

輸入為兩個整數a和b,代表[a, b]區間 (1 ≤ a ≤ b ≤ 10000)。

輸出描述:

輸出為乙個整數,表示區間內滿足條件的整數個數

輸入例子:

11 20

輸出例子:

思路:因只需判斷二位數質數,數量比較少,可以使用乙個陣列存放二位數質數,免去每次都要計算是不是質數

將每一位存放在陣列裡,供遍歷使用

#include "stdafx.h"

#include #include using namespace std;

int main()

; prime[11] = 1; prime[13] = 1; prime[17] = 1; prime[19] = 1; prime[23] = 1; prime[29] = 1; prime[31] = 1; prime[37] = 1; prime[41] = 1; prime[43] = 1; prime[47] = 1;

prime[53] = 1; prime[59] = 1; prime[61] = 1; prime[67] = 1; prime[71] = 1; prime[73] = 1; prime[79] = 1; prime[83] = 1; prime[89] = 1; prime[97] = 1;

int a = 0;

int b = 0;

cin >> a;

cin >> b;

if (a < 10) a = 10;

int count = 0;

if (b <= 10)

else

for (int j = 0; j < ary_everynum.size(); ++j)

for (int k = j-1; k >= 0; --k)

}if (!bprime)}}

}} }

cout << count << endl;

cin.get();

cin.get();

return 0;

}

牛客網習題彙總(一)

1.哪種遍歷序列的組合可以還原二叉樹 後序遍歷序列和中序遍歷序列。2.與克魯斯卡爾 kruskal 相比,普里姆 prim 演算法更適於求哪種網的最小生成樹 邊稠密的網。3.關鍵路徑是事件結點網路中 從源點到匯點的最長路徑。4.在下列排序演算法中,占用輔助空間最多的是 歸併排序。5.在系統記憶體中設...

雙向鍊錶習題(牛客網習題)

說明 設有乙個帶表頭結點的雙向迴圈鍊錶l,每個結點有4個資料成員 指向先驅結點的指標prior 指向後繼結點的指標next 存放資料的成員data和訪問頻度freq。所有結點的freq初始時都為0.每當在鍊錶上進行一次l.locate x 操縱時,令元素值x的結點的訪問頻度freq加1,並將該結點前...

牛客網 奇位數上都是奇數

題目描述 給定乙個長度不小於2的陣列arr。寫乙個函式調整arr,使arr中要麼所有的偶數字上都是偶數,要麼所有的奇數字上都是奇數上。要求 如果陣列長度為n,時間複雜度請達到o n 額外空間複雜度請達到o 1 下標0,2,4,6 算作偶數字,下標1,3,5,7 算作奇數字,例如 1,2,3,4 調整...