zoukankan      html  css  js  c++  java
  • 华为机试测试-验证尼科彻斯定理

    验证尼科彻斯定理,即:任何一个整数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 }
  • 相关阅读:
    洛谷单元最短路标准版——spfa优化
    airline
    有依赖的背包
    挖地雷
    带分数问题
    子集和问题
    循环比赛日程表
    传纸条
    机器分配
    分组背包
  • 原文地址:https://www.cnblogs.com/maydow/p/4782404.html
Copyright © 2011-2022 走看看