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

简介: 华为机试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

示例:

输入:

6



输出:

31+33+35+37+39+41


解题思路:

本题是个数学问题,找规律。2的立方相当于第2个奇数和第3个奇数相加,3的立方相当于第4个奇数+第5个奇数+第6个奇数,那么N的立方等于N个奇数相加,开头的奇数是从哪个开始呢?1的立方有1个加项,2的立方有2个加项,3的立方有3个加项,则4的立方其开头的奇数是从1开始6(1+2+3)个奇数后的下一个奇数。


设计算法,假设输入num值,先计算前num-1项的加项有多少个,则根据序列求和公式sum=(num-1)*(num-1+1)/2,即前num-1项加项共有sum个;而num立方的第一个奇数是2*sum+1;写个循环从第一个奇数开始循环num次完成,前num-1次后面带个+字符。


测试代码:

#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int num;
    while(cin>>num)
    {
        int sum=num*(num-1)/2;
        vector<int> result;
        for(int k=0;k<num;++k)
        {
            if(k!=num-1)
            {
                cout<<2*(sum+k)+1<<"+";
            }
            else{
                cout<<2*(sum+k)+1<<endl;
            }
        }
    }
    return 0;
}


相关文章
|
5月前
lanqiao OJ 182 小朋友崇拜圈
lanqiao OJ 182 小朋友崇拜圈
52 2
|
5月前
lanqiao oj 1121 蓝桥公园(floyd)
lanqiao oj 1121 蓝桥公园(floyd)
58 0
|
5月前
lanqiao OJ 2097 青蛙过河
lanqiao OJ 2097 青蛙过河
19 0
|
7月前
|
机器学习/深度学习 安全 数据挖掘
2023年美赛ICM问题E:光污染 这题很好做啊!
本文提供了2023年美赛ICM问题E"光污染"的建模分析和解决方案,包括设计度量标准、应用度量标准于不同地点、提出干预策略、选择有效策略及制作宣传单的方法,旨在提高对光污染影响的认识并制定减轻影响的策略。
104 2
|
10月前
|
C语言
每天一道C语言编程练习(5):尼科彻斯定理
每天一道C语言编程练习(5):尼科彻斯定理
68 0
|
10月前
|
存储
每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)
每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)
47 0
华为机试HJ88:扑克牌大小
华为机试HJ88:扑克牌大小
133 0
|
测试技术
华为机试HJ24:合唱队
华为机试HJ24:合唱队
119 0
HJ76--尼科彻斯定理
HJ76--尼科彻斯定理
133 0
尼科彻斯定理
1.题目概述 2.题解 思路分析 具体实现
121 0