UESTC 1720 無平方因子數(數論,容斥)

2021-06-09 04:41:48 字數 564 閱讀 6967

by---cxlove 

題目:無平方因子數即對於任意乙個素數p,

p^2都不會整除那個數,如

1 , 5=5 , 15=3*5

都是無平方因子數,而

20=2^2*5

不是。現在給定乙個

n (1 <= n < 10^12) 

,求區間

[1,n]

中無平方因子數的個數。

水水一發~~~~囧

打出素數表,然後找出區間內有多少個數是有平方因子的。顯然是容斥原理

之前用的是列舉的寫法,總是tle,懷疑自己容斥都不會寫了, 囧。

之後又因為溢位,姿勢不正確,tle,wa也幾次, 真心弱啊

#include#include#include#include#include#include#include#include#include#include#define maxn 200005

#define eps 1e-8

#define inf 1<<30

#define ll long long

#define zero(a) fabs(a)

UESTC618 無完全平方因子數

題意 給定乙個 n 求區間 1,n 中的無平方因子數的個數。比如說20就是乙個有平方因子數,因為 20 2 2 times 5 思路 對於乙個數,根據算術基本定理,一定可以拆成若干個整數相乘的形式,記為 x p 1 p n 的形式。那麼答案就是莫比烏斯函式的平方和。s n sum n mu 2 i ...

區間內無平方因子數

給出正整數n,m,區間 n,m 內的無平方因子數有多少個?整數p無平方因子,當且僅當不存在k 1,使p是k 2的倍數,1 n m 10 12,m n 10 7 兩個整數n,m n,m 間的無平方因子數的個數 1 54在此鍵入。劉汝佳 入門經典 題意 對於所給區間,詢問沒有平方因子的數有多少個?思路分...

CD無平方數

思路 就是會有重複的地方,把重複的地方找出來,相加或相減 includeusing namespace std define n 1010010 long long p n long long n long long ans int num 0 void dfs long long s,int j,...