作者:翟天保Steven 题目描述:验证尼科彻斯定理,即:任何一个整数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次后面带个+字符。 测试代码:
|
|