ZZULIOJ 2853: 小A的游戏昵称(容斥定理)

2853: 小A的游戏昵称

简单的容斥定理考察

加上3,5,7的倍数,减去,15,21,35的倍数,再加上105的倍数,
就可以得到结果

#include<iostream>
using namespace std;
typedef long long LL;
const int MOD = 998244353;
int main()
{
    
    
    LL n;cin>>n;
	LL sum=0;
    sum+=(n/3+1)*(n/3)/2*3;sum%=MOD; 
    sum+=(n/5+1)*(n/5)/2*5;sum%=MOD; 
    sum+=(n/7+1)*(n/7)/2*7;sum%=MOD; 
    sum-=(n/15+1)*(n/15)/2*15;sum%=MOD; 
    sum-=(n/21+1)*(n/21)/2*21;sum%=MOD; 
    sum-=(n/35+1)*(n/35)/2*35;sum%=MOD; 
    sum+=(n/105+1)*(n/105)/2*105;sum%=MOD; 
    cout<<(sum+MOD)%MOD<<endl; 
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_52792570/article/details/121477317