本题来源于牛客网,原题链接如下:
尼科彻斯定理

问题描述:

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

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。

数据范围:

1≤m≤100

输入描述:

输入一个int整数

输出描述:

输出分解后的string

示例1

输入:
6
输出:
31+33+35+37+39+41

题解:

解出这道题的关键就是找到起始的那个奇数,如例中的3的起始奇数就是7,4的起始奇数就是13。当然如果只是去找的话利用循环也能找到,但这会耗费大量的时间,最后导致程序运行超时而不通过。这里的较优解还是通过数学的方法,下面是详细解析:
1. 首先我们通过例子可以发现
数字1 从等差数列1 3 5……(通项公式为2n-1)的第1项开始(也就是1)(包括第一项项,下面同理)加1次;
数字2从等差数列第2项开始(也就是3)往后加2次;
数字3从等差数列第4项开始(也就是7)往后加3次;
数字4从等差数列第7项开始(也就是13)往后加4次;
数字5从等差数列第11项开始(也就是21)往后加5次;
……
由此可得,从通项公式为2n-1的等差数列的第几项开始也构成一个数列,即:1 2 4 7 11…… 可以发现这个数列并不是等差数列,但是相邻项之差可构成等差数列,即:
2-1 = 1;
4-2 = 2;
7-4 = 3;
11-7 = 4;
……
设1 2 4 7 11……这个数列有n项,那么其相邻项之差构成的等差数列就有n-1项。有了以上信息后,我们就可以推导出1 2 4 7 11……这个数列的通项公式了
2. 通项公式的推导

得到数列1 2 4 7 11……的通项公式后,若想要求数字n的起始奇数,只需把该通项公式代入奇数数列的通项公式(2n-1)中即可,下面是代入化简后的结果:
起始奇数= n * (n-1) + 1
3. 完整代码
接下来按题目的要求进行输出即可,完整的解题代码如下:

#include <stdio.h>
int main()
{int n = 0;while (scanf("%d", &n) != EOF) {for(int i = 0; i < n; i++){printf("%d",n*(n-1)+1+2*i);if(i < n-1){printf("+");}}}return 0;
}

看完觉得有觉得帮助的话不妨点赞收藏鼓励一下,有疑问或看不懂的地方或有可优化的部分还恳请朋友们留个评论,多多指点,谢谢朋友们

【尼科彻斯定理】-C语言-题解相关推荐

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

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

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

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

  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 这其实就 ...

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

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

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

  7. Python笔记 | 尼科彻斯定理

    文章目录 0x00 前言 0x01 问题分析  0x02 代码设计 0x03 代码流程 0x04 完整代码 0x05 运行效果 0x06 总结 0x00 前言 尼科彻斯定理:任何一个整数的立方都可以写 ...

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

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

  9. 099.尼科彻斯定理

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

最新文章

  1. 线性支持向量机、线性可分支持向量机、非线性支持向量机是怎么区分的?
  2. java panel 显示文字,从动态添加的jPanel获取文本
  3. python基础知识填空-Python基础知识(1)
  4. org.jboss.netty.internal.LoggerConfigurator.DESCRIBED is already registered 的解决办法
  5. dwz ajax session超时跳转登录页(struts2自定义拦截器)
  6. c语言典例之求n个整数最大连续子序列和
  7. vagrant打造自己的开发环境~~我也来一发
  8. oracle获取sysdba权限,Oracle 学习笔记: SYSDBA登陆权限问题
  9. OmniGraffle 7 Pro全新推出!V7.18.3(204.9.0)正式版 支持M1
  10. 三星s4系统更新无法连接到服务器,三星s4无法更新系统?
  11. php 三大魔术方法,PHP魔术方法
  12. Excel转批量转Csv工具软件
  13. oneno浏览器插件_onenote 插件-onenote clipper for chrome下载 v2.1.3官方版--pc6下载站
  14. 2021陈文灯数学复习指南百度云_【干货分享】21考研数学:高等数学常用公式、定理汇总(含打印版)...
  15. retainall java_java用retainALL 处理两个具有相同元素的list,竟然返回false,这是为什么?...
  16. 用Visio画流程图
  17. 海南大学考研经验之(考研英语)
  18. 为什么会有这么多中间表?
  19. img标签图片404异常捕获返回默认图片
  20. 简洁易懂的配置Go开发环境MacOS

热门文章

  1. 前端用echarts-gl实现旋转的3D地球
  2. 接线 科思模块怎么和plc_PLC与传感器的如何接线详解!
  3. Wwise工程里,音频文件不出声
  4. git概念、原理、使用
  5. Makefile出错 make: *** No rule to make target ‘*.c‘,needed by ‘*.o’.Stop
  6. wps表格怎么添加附页_部门工作总结有excle表格的.doc
  7. 剑指Offer——JZ55.链表环的入口结点【快慢指针】
  8. ubuntu14.04 添加右键快捷键复制文件路径
  9. cp14_TF_v1_v2_TensorSpec_rank_trainable_variables_autodiff_keras_Model_API_set_label_coords_custom
  10. oracle模糊查询like语句,sql语句select like模糊查询用法