90pts求调
  • 板块P11397 界分数
  • 楼主ofthemoon
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/17 22:00
  • 上次更新2024/12/18 15:01:00
查看原帖
90pts求调
1433965
ofthemoon楼主2024/12/17 22:00
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=998244353;
int n,ans;
int fast(int base,int power)
{
	long long result=1;
	while(power > 0)
	{
		if(power&1)
			result*=base;
		power/=2;
		base*=base;
	}
	return result;
}
int work(int x)
{
	if(x == 1)
		return 1;
	x--;
	for(int i=0; ; i++)
		if(fast(2,i+1) > x)
			return i+2;
}
signed main()
{
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		ans+=work(i);
		ans%=mod;
	}
	cout<<ans;
	return 0;
}
2024/12/17 22:00
加载中...