学习之整除分块(数论分块)

 学习来自:整除分块(数论分块)

 

简单例题 P1403 [AHOI2005]约数研究     P3935 Calculating

模板:

学习之整除分块(数论分块)

学习之整除分块(数论分块)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll; 
const ll mod=998244353;
ll cal(ll n){ 
	ll ans=0;
	for(ll l=1,r;l<=n;l=r+1){
		r=n/(n/l);
		ans=(ans+(r-l+1)*(n/l))%mod;
	}
	return ans%mod;
}
int main(){
	ll l,r;
	cin>>l>>r;
	printf("%lld\n",(cal(r)-cal(l-1)+mod)%mod);
}

 

上一篇:设计模式-2工厂设计模式


下一篇:JS项目练习之求和(包含正则表达式验证)