Python笔记 | 尼科彻斯定理
文章目录
0x00 前言
0x01 问题分析
0x02 代码设计
0x03 代码流程
0x04 完整代码
0x05 运行效果
0x06 总结
0x00 前言
尼科彻斯定理:任何一个整数的立方都可以写成一串相邻奇数之和(因为如果不是一串相邻的奇数,这个奇数组合可能会有多个)。
0x01 问题分析
关于尼科彻斯定理给出以下示例:
根据尼科彻斯定理,可以使用累加和的方式从奇数1开始累加,构造一个循环来确认累加和,如果等于用户输入整数的立方,那么即为找到这串连续的奇数。如果大于用户输入整数的立方,那么从奇数3开始累加,直到累加和等于用户输入整数的立方为止。
0x02 代码设计
a = 0
integer = int(input("请输入大于一的整数:"))
if integer <= 1:print("Error:输入的值错误")exit()
代码解析:定义一个变量 a 并赋予初始值,再定义一个变量 integer 获取用户的输入,使用 if 判断如果用户输入的数小于等于1,打印 Error 并退出。
cube = pow(integer,3)
i = 1
while i < cube:j = i
代码解析:计算出用户输入整数的立方值并保存到变量 cube 中。接着定义变量 i = 1构造累加和从1开始累加,确定外循环框架如果 i 小于 cube,那么将 i 赋值给变量 j 用作内循环。
while j < cube:a += jif a == cube:print("%d = %d + %d + ... + %d" %(cube, i, i+2, j))if a > cube:a = 0breakj += 2
i += 2
代码解析:如果变量 j 小于 cube,那么执行内循环 a = a + j,构造判断语句用来检查累加和的值是否等于 cube,如果等于 cube 则打印输出,%d 表示输出的数为整数,末尾的定义为输出的整数类型。接着再次使用判断语句,如果 a 大于零,那么将 a 重新归零并使用 break保留字结束内循环。当内循环结束将会执行 i += 2从外循环继续运行。如果 a 即不大于零也不等于 cube 则会执行 j += 2重复内循环语句直到累加和等于 cube。
0x03 代码流程
0x04 完整代码
#Nico chase theorem.py
a = 0
integer = int(input("请输入大于1的整数:"))
if integer <= 1:print("Error:输入的值错误")exit()
cube = pow(integer,3)
i = 1
while i < cube:j = iwhile j < cube:a += jif a == cube:print("%d = %d + %d + ... + %d" %(cube, i, i+2, j))if a > cube:a = 0breakj += 2i += 2
0x05 运行效果
请输入大于1的整数:9
729 = 1 + 3 + ... + 53
729 = 73 + 75 + ... + 89
729 = 241 + 243 + ... + 245Process finished with exit code 0
0x06 总结
文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。
Python笔记 | 尼科彻斯定理相关推荐
- 华为机试HJ76:尼科彻斯定理
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^ ...
- 尼科彻斯定理(简单易懂)
今天来讲讲尼科彻斯定理,简单介绍一下. 尼科彻斯定理即:任何一个整数 m 的立方都可以写成 m 个连续奇数之和.例: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 ...
- 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
一.尼科彻斯定理是什么? 尼科彻斯定理可以叙述为:任何一个整数的立方都可以表示成一串连续的奇数的和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 这其实就 ...
- 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19
题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入描述: 输入一个int ...
- 【C语言每日一题】验证尼科彻斯定理
✨✨ 题目:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入一个正整数m(m≤10 ...
- 【尼科彻斯定理】-C语言-题解
本题来源于牛客网,原题链接如下: 尼科彻斯定理 问题描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=1 ...
- 【牛客网】尼科彻斯定理
尼科彻斯定理 题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1 3 = 1 1^3=1 13=1 2 3 = 3 + 5 2^3=3+5 23=3+5 3 ...
- 【C语言典例】——day7:尼科彻斯定理
※※※大家好!我是同学[森],一名计算机爱好者,今天让我们进入刷题模式.若有错误,请多多指教.
- 099.尼科彻斯定理
#include<stdio.h> void vrNico(int a) {int b,c,d;b=a*a*a; /*求整数的三次方*/printf(" >> %d* ...
最新文章
- 精通python爬虫框架-精通Python爬虫框架Scrapy PDF 中文清晰版
- hadoop学习-海量日志分析(提取KPI指标)
- 介绍几款开源好用的产品
- android脚步--Relativelayout设置
- nmap脚本使用总结
- C# 用IrisSkin4.dll美化你的WinForm
- 干货|吴恩达Coursera课程教你学习神经网络二!
- 正则表达式替换排除特定情况
- 卷积神经网络中十大令人拍案叫绝的操作
- 全数字实时仿真平台SkyEye目标码覆盖率关键技术
- flink sql udf jar包_编写Hive的UDF(查询平台数据同时向mysql添加数据)
- 【ICLR2019】Oral 论文汇总
- 使用 Xtrabackup 在线对MySQL做主从复制【转】
- mysql更新数据库中int 1_Mysql数据库int(1)和tinyint(1)的区别扩展阅读
- 148. php in_array()
- python数据分析:Matplotlib
- [行业报告] 芒果发布8月份国内移动广告平台数据报告
- 昆明钉钉智慧校园K12解决方案,校园安全、健康、生活、办公、网络整体解决方案
- 关于limn阶乘/n^n的若干解法(2)
- php 主机管理系统,LuManager虚拟主机管理系统
热门文章
- 精密压接之曲柄连杆模型计算(含MATLAB仿真+博途SCL源代码)
- Python - Selenium Chrome 模拟手机
- php重定向和转发的区别,PHP重定向和页面快速转向
- 追赶三星 东芝斥资再建3D NAND闪存工厂
- 爬取某音乐163平台搜索单曲及专辑音乐
- AppsFlyer最新报告:传音控股移动互联表现全球增速第二
- 软件测试是个青春饭,怎么才能避免35岁危机?我想吃一辈子
- Capture One Pro 12 for Mac(RAW图像处理软件)
- 基于springboot+vue房屋租赁管理系统的设计与实现
- 计算机文化基础容易挂科,09届选课小贴士