文章目录

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笔记 | 尼科彻斯定理相关推荐

  1. 华为机试HJ76:尼科彻斯定理

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^ ...

  2. 尼科彻斯定理(简单易懂)

    今天来讲讲尼科彻斯定理,简单介绍一下. 尼科彻斯定理即:任何一个整数 m 的立方都可以写成 m 个连续奇数之和.例: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 ...

  3. 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

    一.尼科彻斯定理是什么? 尼科彻斯定理可以叙述为:任何一个整数的立方都可以表示成一串连续的奇数的和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 这其实就 ...

  4. 验证尼科彻斯定理,即:任何一个整数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 ...

  5. 【C语言每日一题】验证尼科彻斯定理

    ✨✨ 题目:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入一个正整数m(m≤10 ...

  6. 【尼科彻斯定理】-C语言-题解

    本题来源于牛客网,原题链接如下: 尼科彻斯定理 问题描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=1 ...

  7. 【牛客网】尼科彻斯定理

    尼科彻斯定理 题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1 3 = 1 1^3=1 13=1 2 3 = 3 + 5 2^3=3+5 23=3+5 3 ...

  8. 【C语言典例】——day7:尼科彻斯定理

    ※※※大家好!我是同学[森],一名计算机爱好者,今天让我们进入刷题模式.若有错误,请多多指教.

  9. 099.尼科彻斯定理

    #include<stdio.h> void vrNico(int a) {int b,c,d;b=a*a*a; /*求整数的三次方*/printf(" >> %d* ...

最新文章

  1. 精通python爬虫框架-精通Python爬虫框架Scrapy PDF 中文清晰版
  2. hadoop学习-海量日志分析(提取KPI指标)
  3. 介绍几款开源好用的产品
  4. android脚步--Relativelayout设置
  5. nmap脚本使用总结
  6. C# 用IrisSkin4.dll美化你的WinForm
  7. 干货|吴恩达Coursera课程教你学习神经网络二!
  8. 正则表达式替换排除特定情况
  9. 卷积神经网络中十大令人拍案叫绝的操作
  10. 全数字实时仿真平台SkyEye目标码覆盖率关键技术
  11. flink sql udf jar包_编写Hive的UDF(查询平台数据同时向mysql添加数据)
  12. 【ICLR2019】Oral 论文汇总
  13. 使用 Xtrabackup 在线对MySQL做主从复制【转】
  14. mysql更新数据库中int 1_Mysql数据库int(1)和tinyint(1)的区别扩展阅读
  15. 148. php in_array()
  16. python数据分析:Matplotlib
  17. [行业报告] 芒果发布8月份国内移动广告平台数据报告
  18. 昆明钉钉智慧校园K12解决方案,校园安全、健康、生活、办公、网络整体解决方案
  19. 关于limn阶乘/n^n的若干解法(2)
  20. php 主机管理系统,LuManager虚拟主机管理系统

热门文章

  1. 精密压接之曲柄连杆模型计算(含MATLAB仿真+博途SCL源代码)
  2. Python - Selenium Chrome 模拟手机
  3. php重定向和转发的区别,PHP重定向和页面快速转向
  4. 追赶三星 东芝斥资再建3D NAND闪存工厂
  5. 爬取某音乐163平台搜索单曲及专辑音乐
  6. AppsFlyer最新报告:传音控股移动互联表现全球增速第二
  7. 软件测试是个青春饭,怎么才能避免35岁危机?我想吃一辈子
  8. Capture One Pro 12 for Mac(RAW图像处理软件)
  9. 基于springboot+vue房屋租赁管理系统的设计与实现
  10. 计算机文化基础容易挂科,09届选课小贴士