尼科彻斯定理

原创 2015年07月08日 20:40:38


//验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
#include<iostream>
using namespace std;
void GetSequeOddNum(int m,char *pcSecOddNum)
{
 if(m<1||m>100||pcSecOddNum==NULL)
  return ;
 int sum=m*m*m;
 int sum1=2*m*m;
 

 //当整数为1时的情况
 int k=0;
 if(m==1)
 {
  pcSecOddNum[k]='1';
  k++;
 }
 pcSecOddNum[k]='\0';


 //当整数大于等于2时的情况
 if(m>=2)
 {
  int i=1;
  int j;
     if((sum/2)%2==0)
   j=sum/2+1;
  else
   j=sum/2;
     while(i<j)
     {
      if(i+j>sum1)
       j-=2;
   else if(i+j<sum1)
    i+=2;
      else if(i+j==sum1)
      {
       if((j-i)/2==m-1)
        break;
       else
        i+=2;
   }
  }
  k=0;
  for(int m=i;m<j;m+=2)
  {
   cout<<m<<"+";
  }
  cout<<j<<endl;

 }

}
void main()
{
 int n;
 cin>>n;
 char pcSecOddNum[100];
 GetSequeOddNum(n,pcSecOddNum);


}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

华为初级——尼科彻斯定理

尼科彻斯定理问题,不是很难,不过,我也花了一些时间,主要原因是理不清头绪,修改了很久。我写的程序都是在主函数里面实现的,没有根据描述里面的自定义函数写,而且,我觉得自己对于用字符串输出不熟练,不知道怎...
  • xmh1954
  • xmh1954
  • 2014年07月09日 18:30
  • 999

华为机试:尼科彻斯定理、等差数列

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

尼科彻斯定理

验证尼科彻斯定理,即:任何一个整数的立方都可以写成一串连续奇数的和。 *问题分析与算法设计 本题是一个定理,我们先来证明它是成立的。 对于任一正整数a,不论a是奇数还是偶数,整数(a×a-a+1...

华为机试题【7】-尼科彻斯定理

题目描述:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。m属于[1,100],超出范围则报错。 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13...

华为OJ——尼科彻斯定理

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

[华为机试练习题]39.尼科彻斯定理

题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 题目类别: 循环 难...

【华为OJ】【049-尼科彻斯定理】

【华为OJ】【算法总篇章】【华为OJ】【049-尼科彻斯定理】【工程下载】题目描述验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^3=1 2^3=3+5 3^3=7...

定理与猜想(尼科彻斯定理)

/**************************************** * File Name : figure.c * Creat Data : 2015.1.30 * Au...

高斯定理正反算

  • 2016年02月28日 21:07
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:尼科彻斯定理
举报原因:
原因补充:

(最多只允许输入30个字)