题解 | #尼科彻斯定理#
尼科彻斯定理
https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 int main() { //输入数字m int m; scanf("%d", &m); //根据观察得出每个数字m的立方拆开的首项是有规律的: 1 3 7 13 21 31 42 。。。。。。。他们之间的差值是正偶数2 4 6 7 810.。。 //由此便可以创建出一个数组存放首项,之后的每一项都是+2得到的连续的奇数,由此全部相加m个连续奇数即可验证定理 //得到每一个首项 int arr[100]; int i = 1; int n = 0; for (int j = 0; j < 100; j++) { i = i + n; arr[j] = i; n = n + 2; } //定理得出: if (m >= 1 && m <= 100) { int k = 0; int i = 0; if (i < m - 1) { for (k = arr[m - 1]; i < m - 1; i++) { printf("%d+", k); k = k + 2; } } if (i == m - 1) { printf("%d", k); } } return 0; }#算法简单题##c语言编程#