51nod 2489 小b和燈泡

2021-09-24 21:10:28 字數 765 閱讀 6060

小b有n個關閉的燈泡,編號為1…n。

小b會進行n輪操作,第i輪她會將編號為i的倍數的燈泡的開關狀態取反,即開變成關,關變成開。

求n輪操作後,有多少燈泡是亮著的。

收起輸入

輸入乙個數字表示燈泡數n,其中1<n≤10000000

輸出輸出乙個數字表示最終亮著的燈泡數

輸入樣例

3輸出樣例

1

思路:求亮著的燈泡數是在求1~n中每個數因子的個數,打表後會發現當i為奇數或sqrt(i)不是整數時,它的因子個數為偶數,而sqrt(i)為整數時因子個數為奇數,分析題意會發現當i的因子個數為偶數時,最準的狀態為滅,而因子個數為奇數最準狀態為亮,綜合以上分析可得結論:求亮著的燈泡樹是在求1 ~n中可開開方數的數量(sqrt(n))。

#include#includeusing namespace std;

int main()

打表分析

#include#include#includeusing namespace std;

const int maxn = 10000000;

int init[maxn];

int main()

for (int i = 2; i <= n; i++) }

cout << count << endl;

getchar();

getchar();

}

51 Nod 2485 小b重排字串

小b有乙個字串s,全部為小寫字母,現在她希望重排列s,使得s中相鄰字元不同。請你判斷小b是否可能成功。樣例解釋 將 aab 重排為 aba 即可。找到出現次數最大的次數k,設字串長度為n。如果n為偶數數,那麼k最大為 n 2。如果n為奇數,那麼k 最大 為 n 2 1。超過的話就不合格 includ...

B 整數劃分 51Nod 1201

將n分為若干個不同整數的和,有多少種不同的劃分方式,例如 n 6,共4種。由於資料較大,輸出mod 10 9 7的結果即可。input 輸入1個數n 1 n 50000 output 輸出劃分的數量mod 10 9 7。sample input 6sample output 4思路如下 用dp i ...

51NOD 1629 B君的圓錐

1629 b君的圓錐 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 b君要用乙個表面積為s的圓錐將白山雲包起來。b君希望包住的白山雲體積盡量大,b君想知道體積最大可以是多少。注意圓錐的表面積包括底面和側面。input 一行乙個整數,表示表面積s。1 s 10 9...