51Nod 1010 只包含因子2 3 5的數

2021-08-08 04:31:17 字數 785 閱讀 3119

k的因子中只包含2 3 5。滿足條件的前10個數是:2,3,4,5,6,8,9,10,12,15。

所有這樣的k組成了乙個序列s,現在給出乙個數n,求s中 >= 給定數的最小的數。

例如:n = 13,s中 >= 13的最小的數是15,所以輸出15。

input

第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 10000)

第2 - t + 1行:每行1個數n(1 <= n <= 10^18)

output

共t行,每行1個數,輸出》= n的最小的只包含因子2 3 5的數。
input示例

518

1335

77

output示例

2815

3680

其實一開始我是有想過打表再二分的,但是因為紫書中的乙個例題(醜數),我居然想用單調佇列來記錄資料,太年輕了,還想過用篩法,*****

//菜呀,菜呀,菜呀

#include using namespace std;

typedef long long ll;

const ll maxn=1e18+100;

ll a[1000000];

ll len;

void pre()

{ len=0;

for(ll i=1;i>t;

while(t--){

ll n;

cin>>n;

cout<<*lower_bound(a+1,a+len,n)<

51Nod 1010 只包含因子2 3 5的數

k的因子中只包含2 3 5。滿足條件的前10個數是 2,3,4,5,6,8,9,10,12,15。所有這樣的k組成了乙個序列s,現在給出乙個數n,求s中 給定數的最小的數。例如 n 13,s中 13的最小的數是15,所以輸出15。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t ...

51nod1010 只包含因子2 3 5的數

題目 k的因子中只包含2 3 5。滿足條件的前10個數是 2,3,4,5,6,8,9,10,12,15。所有這樣的k組成了乙個序列s,現在給出乙個數n,求s中 給定數的最小的數。例如 n 13,s中 13的最小的數是15,所以輸出15。收起輸入 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 ...

51nod 1010 只包含因子2 3 5的數

k的因子中只包含2 3 5。滿足條件的前10個數是 2,3,4,5,6,8,9,10,12,15。所有這樣的k組成了乙個序列s,現在給出乙個數n,求s中 給定數的最小的數。例如 n 13,s中 13的最小的數是15,所以輸出15。輸入 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 100...