作业帮 > 综合 > 作业

任何一个n的三次方一定可以表示成n个连续的奇数和,输入n,输出n的三次方对应的表达式.用pascal语言

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/20 19:05:23
任何一个n的三次方一定可以表示成n个连续的奇数和,输入n,输出n的三次方对应的表达式.用pascal语言
任何一个n的三次方一定可以表示成n个连续的奇数和,输入n,输出n的三次方对应的表达式.用pascal语言
这个问题好著名.
把它当做一个纯数学问题来
举特殊值,当n=7 时,7^3=7^2×7 ,因此这七个连续奇数的平均数一定是 7^2=49 ,
有想法了吗?

7^3就是几个数相加的结果,很好证明.

扩展到任意自然数 n ,n^3=n^2  × n,所以这n个数的平均数是 n^2,
Ⅰ.若n是奇数,( pascal表述:if odd(n) )
    则最中间的数是 n^2,最左边的数是 n^2-n+1(关于这个,楼主可以自己试试看.当n=7时, 
    就是  7^2-7+1=7^2-6  ),最右边的数是 n^2+n-1 ;
Ⅱ.若n是偶数,( pascal表述:if not(odd(n))  )
    没有最中间的的数了,但是最左边的数还是 n^2-n+1(可以举个例子试试,如n=4,最左边是
    4^2-3,第二个是 4^2-1,然后 4^2+1,4^2+3,这四个连续奇数的和正好是 4^2×4=4³.

参考程序:
program n3;
var n,i,a:longint;
begin
 writeln('Input n');
 readln(n);
 write(n,'^3=');
 a:=n-1;                               //a用来放置那个 n^2 后面要加上或减去的数;
 for i:=1 to n do
 begin
  write(n*n-a);
  if i<n then write('+');          //处理'+'的输出;

  a:=a-2;                              //注意到,当a达到某一值的时候会变为负数;
 end;
 readln;
end.