Easy Problem(等差数列求和导公式)
链接:https://ac.nowcoder.com/acm/contest/316/A
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
构造一个无重复的只含有正奇数的数列,使得这个数列所有项之和不超过n。输出所能构造的数列长度的最大值。
输入描述:
多组数据,输入以EOF结尾(不超过1e5组) 每行一个n(1<=n<=1e9)
输出描述:
每行一个数表示构造数列的长度
示例1
输入
4 9 10
输出
2 3 3
题解:暴力去解肯定超时,这就需要我们都是正奇数,我们就可以利用等差数列的求和来求即可
公式为(2*n-1+1)*n/2<=输入的数,那我们就可以求出n的最大整数值为输入值的算术平方根
代码:
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
int sum,s;
while(scanf("%d",&n)!=EOF)
{
s=sqrt(n);
printf("%d\n",s);
}
return 0;
}
作者:李斌
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步