AcWing 890 能被整除的數(容斥原理)

2021-10-08 07:08:18 字數 603 閱讀 9959

給定乙個整數n和m個不同的質數p1,p2,…,pm。

請你求出1~n中能被p1,p2,…,pm中的至少乙個數整除的整數有多少個。

輸入格式

第一行包含整數n和m。

第二行包含m個質數。

輸出格式

輸出乙個整數,表示滿足條件的整數的個數。

資料範圍

1≤m≤16

1≤n,pi≤1e9

輸入樣例:

10 2

2 3

輸出樣例:

7
題解:這裡採用了容斥原理,乙個數k在n中的個數為n/k個,而交集則為數的乘積在n中的個數,這裡採用位運算處理數的乘積的選擇,如果為1就選擇,為0就不選。

#includeusing namespace std;

#define ll long long

const int n = 18;

int a[n];

int main() }}

if(t != -1)

}cout << ans;

return 0;

}

AcWing 890 能被整除的數

題目描述 給定乙個整數n和m個不同的質數p1,p2,pm。請你求出1 n中能被p1,p2,pm中的至少乙個數整除的整數有多少個。輸入格式 第一行包含整數n和m。第二行包含m個質數。輸出格式 輸出乙個整數,表示滿足條件的整數的個數。資料範圍 1 m 16,1 n,pi 10 9 輸入樣例 10 2 2...

能被某些數整除的數的特徵

性質1 如果數a b都能被c整除,那麼它們的和 a b 或差 a b 也能被c整除。性質2 幾個數相乘,如果其中有乙個因數能被某乙個數整除,那麼它們的積也能被這個數整除。能被2整除的數,個位上的數能被2整除 偶數都能被2整除 那麼這個數能被2整除 能被3整除的數,各個數字上的數字和能被3整除,那麼這...

能被某些數整除的數的特徵

性質1 如果數a b都能被c整除,那麼它們的和 a b 或差 a b 也能被c整除。性質2 幾個數相乘,如果其中有乙個因數能被某乙個數整除,那麼它們的積也能被這個數整除。能被2整除的數,個位上的數能被2整除 偶數都能被2整除 那麼這個數能被2整除 能被3整除的數,各個數字上的數字和能被3整除,那麼這...