LightOJ - 1117 (容斥原理)

题意:m个数,求1-n中不能被那m个数任意一个整除的数有多少个。

题解:比较基础的容斥原理,状压一下即可。

#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b)
{
	return b==0?a:gcd(b,a%b);
}
ll lcm(ll a,ll b)
{
	return a*b/gcd(a,b);
}
ll a[19];
ll bit(ll n)
{
	ll ans=0;
	while(n)
	{
		if(n%2==1)ans++;
		n>>=1;
	}
	return ans;
}
int main()
{
	ll t,n,m;
	cin>>t;
	ll b[105];ll cas=1;
	while(t--)
	{
		cin>>n>>m;
		ll ans=0;
		for(ll i=0;i>a[i];
		
		for(ll i=1;i<=m;i++)
		{
			ll num=0,sum=0;
			for(ll k=0;k<(1<

你可能感兴趣的:(数论,数学)