洛谷 P3152 正整數序列

2022-04-05 03:33:24 字數 692 閱讀 6201

kkk製造了乙個序列,這個序列裡的數全是由正整數構成的。你別認為她的數列很神奇——其實就是1, 2, …, n而已。當然,n是給定的。kkk的同學lzn認為0是乙個好數字(看上去很飽滿有木有),所以他機智的趁kkk不在把這個序列全變成了0(其實只是準備窩)~

可是kkk突然回來了!於是lzn的計畫破滅了。但是他並不甘心,就和kkk說:我可以每次從這個序列中選取一些數,然後一起減去乙個相同的數(當然也是正整數)。然後經過有(wu)限(qiong)次這樣的操作後,這個序列就可以全變成0。

kkk當然不信咯,於是lzn就求出了他最少要做幾次這樣的操作,才能使這個序列全部變成0。

輸入格式:

乙個正整數n

輸出格式:

最少操作次數

如果無解輸出-1

輸入樣例#1: 複製

2

輸出樣例#1: 複製

2

1<=n<=10^9

思路:通過計算幾個小的數,可以發現,這個題目的最小操作次數是log2n,然後用換底公式,就可以直接得出答案了。

#include#include

#include

#include

#include

using

namespace

std;

intn;

intmain()

P3152 正整數序列

kkk製造了乙個序列,這個序列裡的數全是由正整數構成的。你別認為她的數列很神奇 其實就是1,2,n而已。當然,n是給定的。kkk的同學lzn認為0是乙個好數字 看上去很飽滿有木有 所以他機智的趁kkk不在把這個序列全變成了0 其實只是準備窩 可是kkk突然回來了!於是lzn的計畫破滅了。但是他並不甘...

洛谷 P1128 HNOI2001 求正整數

題目描述 對於任意輸入的正整數n,請程式設計求出具有n個不同因子的最小正整數m。例如 n 4,則m 6,因為6有4個不同整數因子1,2,3,6 而且是最小的有4個因子的整數。輸入輸出格式 輸入格式 n 1 n 50000 輸出格式 m輸入輸出樣例 輸入樣例 1 int.in 4輸出樣例 1 int....

洛谷 P1410 子串行

這題乍一看毫無思路。顯然不可能窮舉長度為n 2的嚴格遞增子串行。不過聯想到noip1999 普及組 的飛彈攔截的第二問,就有思路了。這題其實與它的第二問差不多,只要算出該序列的最大非公升子串行長度l,判斷一下是否大於2即可。1.假如l 2,顯然乙個嚴格遞增子串行至多包含非公升子串行的乙個元素,2個子...