列表

详情


HJ76. 尼科彻斯定理

描述

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


输入描述

输入一个int整数

输出描述

输出分解后的string

示例1

输入:

6

输出:

31+33+35+37+39+41

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 1ms, 内存消耗: 276KB, 提交时间: 2021-03-28

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

C 解法, 执行用时: 1ms, 内存消耗: 328KB, 提交时间: 2021-09-08

#include "stdio.h"
#include "string.h"

int main()
{
    int m;
    
    while (scanf("%d", &m) != EOF)
    {
        //long sum = m*m*m;
        int start = m*m - m + 1;;
        int i = 0;
        
        /*if (m%2 == 0)
        {
            start = m*m - m + 1;
        }
        else
        {
            start = m*m - 2*(m/2);
        }*/
        while (m > 1)
        {
            printf("%d+", start+2*i);
            i++;
            m--;
        }
        printf("%d\n", start+2*i);
    }
    
    return 0;
}

上一题