首页 > 试题广场 >

尼科彻斯定理

[编程题]尼科彻斯定理
  • 热度指数:136718 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}尼科彻斯定理,又称为斐波那契数列定理,指的是对于任意正整数 n,存在一个由连续奇数组成的数列,使得该数列的和等于 n 的立方。
\hspace{15pt}例如:
\hspace{23pt}\bullet\,对于 n=1,数列 \left\{1\right\} 的和为 1^3=1
\hspace{23pt}\bullet\,对于 n=2,数列 \left\{3,5\right\} 的和为 2^3=3+5
\hspace{23pt}\bullet\,对于 n=3,数列 \left\{7,9,11\right\} 的和为 3^3=7+9+11
\hspace{23pt}\bullet\,对于 n=4,数列 \left\{13,15,17,19\right\} 的和为 4^3=13+15+17+19

\hspace{15pt}现在,给定一个正整数 n,请输出这个数列中的元素从小到大相加的形式。
\hspace{15pt}如果有多个这样的序列,请输出长度为 n 的那个。

输入描述:
\hspace{15pt}输入一个整数 n \left(1 \leqq n \leqq 100\right) 。


输出描述:
\hspace{15pt}在一行上输出一个字符串,用于描述这个数列中的元素从小到大相加的形式。元素与元素之间用加号连接。
示例1

输入

1

输出

1
示例2

输入

2

输出

3+5
示例3

输入

3

输出

7+9+11
示例4

输入

4

输出

13+15+17+19
头像 为什么机器不学习
发表于 2021-01-09 14:54:20
高中的我们看到这个题的一瞬间,一定会觉得这是个弱智题。然而现在的我,想了好久。。题目的意思是已知等差数列和 为 ,项数n为m,公差d为2,求首项 : import java.util.Scanner; public class Main { public static void ma 展开全文
头像 天山折梅手
发表于 2021-10-29 10:51:25
while True: try: m = int(input()) l = [i for i in range(m*(m-1)+1,m*(m+1)) if i%2 !=0] print('+'.join(map(str,l))) exc 展开全文
头像 挖掘机斯基
发表于 2021-06-24 08:56:44
题目链接找规律,经观察:第一项为n(n-1)+1,最后一项为n(n+1)-1,把中间的数print一下就ok import java.util.Scanner; public class Main { public static void main(String[] args) { 展开全文
头像 照大江
发表于 2021-10-18 21:32:35
尼科彻斯定理 Step 1 : Find the rule between output with n, found print n nums, and start = n * n - n + 1, and increase with common step Step 2 : Coding and 展开全文
头像 摸鱼学大师
发表于 2021-10-30 14:09:15
题目的主要信息: 任何一个整数m的立方都可以写成m个连续奇数之和 13=11^3=113=1 23=3+52^3=3+523=3+5 33=7+9+113^3=7+9+1133=7+9+11 43=13+15+17+194^3=13+15+17+1943=13+15+17+19 展开全文
头像 牛客631428359号
发表于 2021-10-22 17:18:57
while True:     try:         n = int(input())       展开全文
头像 莫燿汶
发表于 2022-04-07 16:47:49
num = int(input()) if num % 2 == 0: lis = [i for i in range(1, num + 1) if i % 2 == 1] lis1 = [] for n in lis: lis1 += [num ** 2 - 展开全文
头像 不错就是对
发表于 2022-03-10 21:39:40
HJ76 尼科彻斯定理 思路: step1:输入一个数字,同时创建一个列表,便于保存奇数; step2:对n*(n-1)+1 至 n*(n+1),每隔一个数进行遍历,并将他们添加至列表中; step3:对c逐一遍历,如果遍历到最后一位,直接打印i;其余都要把+带上 代码如下: n = int(inp 展开全文
头像 张恒201901071908504
发表于 2021-10-08 22:49:37
题目的意思是已知等差数列和 图片说明 为 图片标题 ,项数n为m,公差d为2,求首项a1 #include<stdio.h> #include<string.h> int main(int argc, char const *argv[]) { int m = 0; 展开全文
头像 法拉利201903231900848
发表于 2019-08-15 01:49:22
while True:     try:         n=int(input())         展开全文