您的位置:首页 > 其它

华为机试测试-验证尼科彻斯定理

2015-09-04 21:44 253 查看
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
System.out.println(getStr(n));
scanner.close();
}

public static String getStr(int n)
{
int mid=n*n;
int tar=n*n*n;
StringBuilder stringBuilder=new StringBuilder();
int sum=0,dis=mid%2==0?-1:0;
while(dis<=tar)
{
if(dis==0)
sum+=mid;
if(sum==tar)
break;
sum+=2*mid;
dis+=2;
}
for(int i=mid-dis;i<=mid+dis;i+=2)
{
if(i==mid+dis)
stringBuilder.append(i);
else
stringBuilder.append(i+"+");
}
return stringBuilder.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: