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

来源:互联网 发布:马雅可夫斯基 知乎 编辑:程序博客网 时间:2024/06/05 01:08

题目描述:

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

思路:

  • 首先对于数学题,注意审题,除了数学基础,还有多举几个例子,看看规律,总结一下
  • 不难发现展开式从(n*n - n + 1)开始,步进2显示,共显示n个数。
    -

代码:

import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);    while(scan.hasNext()){        int input = scan.nextInt();        System.out.println(getResult(input));    }       }    //获取展开式的函数    public static String getResult(int n){        if(n < 1 && n >100){            return "";        }        int a = n*n - n + 1;        int result = a;        StringBuffer sb = new StringBuffer();        sb.append(a);        for(int i = 1;i < n;i++){            a = a + 2;            sb = sb.append("+").append(a);        }        return sb.toString();    }}

我的微信二维码如下,欢迎交流讨论

这里写图片描述

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

这里写图片描述

2 0
原创粉丝点击