青少年编程知识记录 codecoming

【题解】尼科彻斯定理

【题目描述】

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

【输入描述】

任一正整数

【输出描述

该数的立方分解为一串连续奇数的和

【样例输入】

13

【样例输出】

13*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181

【题目分析】

  • 题目比较简单,先算出一个数的立方,再算出这个数可以由多少个不同的连续奇数之和构成(暴力穷举)

  • 比较麻烦的是要构造出等式

  • 实际上还有更严谨的方式,就是根据题目要求推导关系表达式。






观察下面的推导过程

1的立方=1

2的立方=3+5

3的立方=7+9+11

4的立方=13+15+17+19

5的立方=21+23+25+27+29

......

每个数列的首项是1,3,7,13,21。如果n是6,那么数列的第一个数是31。可以推导出每个数列的第一个数是n*(n-1)+1。这样就可以推导出第一个数了,大大缩减运算规模。



(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: