专栏文章
题解:P14304 【MX-J27-T1】分块
P14304题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @minian31
- 此快照首次捕获于
- 2025/12/02 02:52 3 个月前
- 此快照最后确认于
- 2025/12/02 02:52 3 个月前
简单题。场切了。
考虑 下取整什么时候能被 整除。
记 下取整为 ,则 ,所以 ,,又 ,所以 只有三个值 ,,(因为 是正整数,所以当 时 , 时,)。
所以在 到 中,有 个这样的正整数。 到 中,只要特判就行了。
代码:
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
const int Q=100009;
int x[Q],q;
signed main(){
ios::sync_with_stdio(0);
cin>>q;
for(int i=1;i<=q;i++) cin>>x[i];
for(int i=1;i<=q;i++){
int k=sqrt(x[i]);
int ans=0;
if(k==1){cout<<x[i]<<endl;continue;}
ans+=3*(k-1);
if(x[i]>=k*k) ans++;
if(x[i]>=k*(k+1)) ans++;
if(x[i]>=k*(k+2)) ans++;
cout<<ans<<'\n';
}
return 0;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...