求自然数的平方和python_查找最大N,以使Python中前N个自然数的平方和不超过X
假设我们有一个给定的整数X,我们必须找到最大值N,以使前N个自然数的总和不超过值X。
因此,如果输入为X = 7,则输出将为2,因为2是N的最大可能值,对于N = 3,级数之和将超过X = 7所以,1 ^ 2 + 2 ^ 2 + 3 ^ 2 = 1 + 4 + 9 = 14。
为了解决这个问题,我们将遵循以下步骤-定义了一个函数sum_of_squares()。这将取N
RES:=(N *(N + 1)*(2 * N + 1))/ 6
返回资源
从主要方法中,执行以下操作-
低:= 1
高:= 100000
N:= 0
而低 - 高=,做高:=中-1
N:=中
低:=中+ 1
中间:=(高+低)/ 2
如果sum_of_squares(MID) - = X,则
除此以外,
返回否
示例
让我们看下面的实现以更好地理解-def sum_of_squares(N):
res = (N * (N + 1) * (2 * N + 1)) // 6
return res
def get_max(X):
low, high = 1, 100000
N = 0
while low <= high:
mid = (high + low) // 2
if sum_of_squares(mid) <= X:
N = mid
low = mid + 1
else:
high = mid - 1
return N
X = 7
print(get_max(X))
输入值7
输出结果2
求自然数的平方和python_查找最大N,以使Python中前N个自然数的平方和不超过X相关推荐
- java求出1~100之间,既是3又是7的倍数的自然数出现的次数?
1)打印1~100之间 6的倍数的个数 2)求出1-100之间,既是3又是7的倍数的自然数出现的次数? class Exer1{public static void main(String[] arg ...
- 使用哈希函数:H(k)=3k MOD 11,并采用链地址法处理冲突。试对关键字序列(22,41,53,46,30,13,01,67)构造哈希表,求等概率情况下查找成功的查找长度,并设计构造哈希表
使用哈希函数:H(k)=3k MOD 11 ,并采用链地址法处理冲突. 试对关键字序列(22,41,53,46,30,13,01,67)构造哈希表, 求等概率情况下查找成功的查找长度,并设计构造哈希表 ...
- [编程入门]阶乘求和:求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
[题目描述]求Sn=1!+2!+3!+4!+5!+-+n!之值,其中n是一个数字(n不超过20).#include<iostream> using namespace std;void f ...
- lintcode刷题 14. 二分查找,迭代和二分法Python实现
14. 二分查找 描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1. ...
- c语言二维数组对角线输出字符,用C编程一个4*4的矩阵,用二维数组,求对角线元素的和。,c语言如何使二维数组 输出为矩阵的形式...
导航:网站首页 > 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数组 输出为矩阵的形式 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数 ...
- 4.有两个知阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于知阵相加。如:c=a+b。
/* 矩阵加法法则 */ /* 有两个矩阵a和b,均为2行3列.求两个矩阵之和. 重载运算符" + ",使之能用于知阵相加. 如:c = a + b. */ #include &l ...
- 习题 10.4 有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如:c=a+b。
C++程序设计(第三版) 谭浩强 习题10.4 个人设计 习题 10.4 有两个矩阵a和b,均为2行3列.求两个矩阵之和.重载运算符"+",使之能用于矩阵相加.如:c=a+b. 代 ...
- 链表的特点,单链表的定义、存储结构,单链表的基本操作(判断链表是否为空、销毁链表、清空链表、求链表表长、查找、插入、删除,建立单链表)
目录 一.链表(链式存储结构)的特点 二.单链表的定义和表示 1.带头结点的单链表 2.单链表的存储结构 三.单链表基本操作的实现 1.单链表的初始化(带头结点的单链表) 2.补充单链表的几个常用简单 ...
- C语言中阶第四篇:分支与循环语句练习,求阶乘的多种方法(两层for循环求阶乘)、二分查找、字符串汇聚以及模拟用户登录
业精于勤荒于嬉,行成于思毁于随. 今天就来综合的联系一下前面的知识. 第十篇 一.for语句,两种方法计算阶乘 1.1.一层for循环求阶乘 1.2.实现阶乘累和 1.3.两层for循环求阶乘 二.i ...
最新文章
- 如何发表一篇好的文章
- 2202年了,AI还是不如猫!图灵奖得主Yann LeCun:3大挑战依然无解
- 具备这四点品质的建站系统就爱了吧!
- 3451: Tyvj1953 Normal 点分治 FFT
- 22-高级特性之内建方法(3)
- asp 表格渐变颜色_加班到半夜,同事却用WPS表格小技巧10分钟搞定工作!
- Go中的Map实现机制
- 项目: 写一个开头的界面 【c++ / c】
- 已安装的sql怎么添加功能_微信群管理工具有哪些功能?怎么在社群中添加微信小助手?...
- 使用Spring AOP进行面向方面的编程
- C++的四种强制类型转换
- C++dll导出类的方式__declspec(dllexport)
- VS2010/MFC编程入门之三(MFC应用程序框架分析)
- 抗击疫情,宜复辟拱手礼
- SSM框架中的Mapper.xml文件中的增、删、改、查等操作
- 数据的提取方法 - 1
- 电脑连不上wifi怎么办?
- 非IE浏览器(谷歌、火狐、Edge)使用IE打开指定链接
- Xilinx ZYNQ Ultrascale+ 性能测试之 Video Multi Scaler (Linux篇)
- 下载腾讯视频为mp4格式