码迷,mamicode.com
首页 > 其他好文 > 详细

华为机试测试-

时间:2015-09-04 22:20:33      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

例如:

1^3=1 

2^3=3+5 

3^3=7+9+11 

4^3=13+15+17+19 

 1 import java.util.Scanner;
 2 
 3 
 4 public class Main {
 5     public static void main(String[] args) {
 6         Scanner scanner=new Scanner(System.in);
 7         int n=scanner.nextInt();
 8         System.out.println(getStr(n));
 9         scanner.close();
10     }
11     
12     public static String getStr(int n)
13     {
14         int mid=n*n;
15         int tar=n*n*n;
16         StringBuilder stringBuilder=new StringBuilder();
17         int sum=0,dis=mid%2==0?-1:0;
18         while(dis<=tar)
19         {
20             if(dis==0)
21                 sum+=mid;
22             if(sum==tar)
23                 break;
24             sum+=2*mid;
25                dis+=2;
26         }
27         for(int i=mid-dis;i<=mid+dis;i+=2)
28         {
29             if(i==mid+dis)
30                 stringBuilder.append(i);
31             else
32                 stringBuilder.append(i+"+");
33         }
34         return stringBuilder.toString();
35     }
36 }

 

华为机试测试-

标签:

原文地址:http://www.cnblogs.com/maydow/p/4782404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!