VIJOS P1889 天真的因數分解

2021-07-14 18:59:59 字數 1036 閱讀 3705

小島: 什麼叫做因數分解呢?

doc : 就是將給定的正整數n, 分解為若干個素數連乘的形式.

小島: 那比如說 n=12 呢?

doc : 那麼就是 12 = 2 x 2 x 3 呀.

小島: 嗚嗚, 好難, 居然素數會重複出現, 如果分解後每乙個素數都只出現一次, 我就會.

wish: 這樣來說, 小島可以正確分解的數字不多呀.

doc : 是呀是呀.

wish: 現在問題來了, 對於給定的k, 第 k 個小島無法正確分解的數字是多少?

輸入只有一行, 只有乙個整數 k.

輸出只有一行, 只有乙個整數, 表示小島無法正確分解出來的第k個數字.

10

27

對於30%的資料, k <= 2,000,000

對於100%的資料, 1 <= k <= 10,000,000,000

前 10 個小島無法正確分解出來的數字依次是: 4 8 9 12 16 18 20 24 25 27

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

莫比烏斯函式+容斥原理~

迴圈時ij要設成long long型~

#include#include#includeusing namespace std;

#define ll long long

#define kk 250050

const int n=160000;

ll k;

int u[kk],q[kk];

bool b[kk];

inline void ya()

for(ll j=1;j<=q[0] && i*q[j]<=n;j++)

u[i*q[j]]=-u[i];}}

}ll qiu(ll mid)

int main()

printf("%i64d\n",ans);

return 0;

}

wustoj1889編輯距離

設a和b是兩個字串。我們要用最少的字元操作次數,將字串a轉換為字串b。這裡所說的字元操作共有三種 1 刪除乙個字元 2 插入乙個字元 3 將乙個字元改為另乙個字元。對任的兩個字串a和b,計算出將字串a變換為字串b所用的最少字元操作次數。第一行為字串a 第二行為字串b 字串a和b的長度均小於200。乙...

FZU 1889 龜兔賽跑

problem 1889 龜兔賽跑 萬眾矚目的第七屆龜兔賽跑比賽在北京時間3333年3月3日於火星打響。此次龜兔賽跑比賽的規則與往屆有所不同,不再考察兔子和烏龜誰在最短的時間內跑完規定的路程,而是考察誰在規定時間內跑的路程最長,而且兔子和烏龜在跑步都是勻速的。由於兔子的壞習慣,它總是喜歡把比賽的總時...

P1889 士兵站隊

題目描述 在乙個劃分成網格的操場上,n 個士兵散亂地站在網格點上,由整數座標 x,y 表示。士兵們可以沿網格邊上 下左右移動一步,但在同時刻任一網格點上只能有名士兵。按照軍官的命令,們要整齊地列成個水平佇列,即排成 佇列,即排成 x,y x 1,y x n 1,y 請求出如何選擇 x 和 y 的值才...