描述

验证尼科彻斯定理,即:任何一个整数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个连续奇数之和的形式输出。
数据范围:1m100 
进阶:时间复杂度:O(m) ,空间复杂度:O(1)

输入描述:

输入一个int整数

输出描述:

输出分解后的string

示例1

输入:
6
输出:
31+33+35+37+39+41
代码部分:


#include <stdio.h>
//以下是Senky的代码
int main() {
    int m = 0;
    scanf("%d", &m);
    int n = (m-1) * m + 1; 
    //m的立方写成m个连续奇数之和的形式,首个奇数元素就是m*(m-1)+1
    int i = 0;
    for ( i = 0; i < m - 1; i++) {
        printf("%d+", n);
        n += 2;
    }
    printf("%d", n);
    return 0;//编辑于2022/10/08
}
总结
①输入6,那么string:31+33+35+37+39+41中,第一个奇数31是m*(m-1)+1,发现了这一规律后,就很容易了;
当前帖子仅供自我精进、学习使用,有不足之处欢迎指正;