作业帮 > 数学 > 作业

用算法语句编写下列程序!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/06/17 20:23:00
用算法语句编写下列程序!
任何一个整数的立方都可以写成一串奇数之和,这个是著名的尼科梅彻斯定理.
例如 1^3=1
2^3=3+5=8
3^3=7+9+11=27
4^3=13+15+17+19=64
现要输入N,求N3是哪些奇数的和.
例如输入4
输出4^3=13+15+17+19=64
尼科梅彻斯定理:任何一个整数的立方都可以写成一串相邻奇数之和.用数学方法证明尼科梅彻斯定理.证明之前,我们先看连续p个奇数的和有什么特点:(1)假设p为偶数,这些连续p个奇数中间两项的数为2k-1,2k+1 ,则这组数的平均数定是2k,总和为2k*p , 如果p^2=2k,那么和为p^3(2)假设p为奇数,这些连续p个奇数中间一项的数为2k+1 ,则这组数的平均数定是2k+1,总和为(2k+1)*p, 如果p^2=2k+1,那么和为p^3我们再看 ,n^3 等于 n*n^2 ,即 n个n^2的和.(1)假设n为偶数,把n^2定为一串连续奇数的中间两项的平均数,写出这中间两项,分别为n^2-1 ,和n^2+1 ,如果向这两个奇数的两边分别排(n-2)/2项连续的奇数,则加上中间那两项,这组奇数总共(n-2)/2*2+2=n项,这组连续奇数的总和为n*n^2=n^3,得证(可参照上面的偶数项连续奇数的特点)比如4^3=13+15+17+194^3可以看成4*4^2=4*16,把16定成一串奇数的中间两项数的平均数,则中间两项分别是15,17 ,然后只需向这两个数的两旁排上剩余(4-2=2)项连续的奇数13和19即可.(2)假设n为奇数,则n^2必是奇数,把n^2定为一串连续奇数的中间一项奇数,如果向这个奇数的两边分别排(n-1)/2项连续的奇数,则加上中间那两项,这组奇数总共(n-1)/2*2+1=n项,这组连续奇数的总和为n*n^2=n^3,得证(可参照上面的奇数项连续奇数的特点)比如5^3=21+23+25+27+295^3可以看成5*5^2=5*25,把25定成一串奇数的中间一项奇数,然后只需向这个数的两旁排上剩余(5-1=4)项连续的奇数21,23,和27,29即可.到此尼科梅彻斯定理得证.所以可以得到结论:数列的平均数就是n的平方.而且数列就是n个所以可以得到这n个数的第一项就是:n^2-n+1int main(){
int n;
cin>>n;
int first=n*n-n+1;
for (int i=0;i<n;i++)
{
cout<<first<<endl;
first+=2;
}


}