尼科彻斯定理

来源:互联网 发布:unity3d 录屏 编辑:程序博客网 时间:2024/05/20 07:31

package oj.test;

import java.util.*;


public class Demo5 {

 /**
  * @尼科彻斯定理
  *  验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
  * 例如:
  * 1^3=1
  * 2^3=3+5
  * 3^3=7+9+11
  * 4^3=13+15+17+19

本题是一个定理,我们先来证明它是成立的。对于任一正整数a,不论a是奇数还是偶数,整数(a×a-a+1)必然为奇数。构造一个等差数列,数列的首项为(a×a-a+1),等差数列的差值为2(奇数数列),则前a项的和为:a×((a×a-a+1))+2×a(a-1)/2=a×a×a-a×a+a+a×a-a=a×a×a定理成立。证毕。通过定理的证明过程可知L所要求的奇数数列的首项为(a×a-a+1),长度为a。编程的算法不需要特殊设计,可按照定理的证明过直接进行验证。


  */
 public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
   int num = sc.nextInt();
   String output = fun(num);
   sop(output);
  
 }


 private static String fun(int num) {
  int n = num*num*num;
  int a = num*num-num+1;
  int re=0;
  String str = "";
  for(int i=0;i<num;i++){
   re = a+i*2;
   str = str + re +"+";
  }
  
  return str.substring(0, str.length()-1);
 }


 private static void sop(Object obj) {
  System.out.println(obj);
 }

}

0 0