当前位置: 首页 > news >正文

华为机试牛客刷题之HJ76 尼科彻斯定理

华为机试牛客刷题之HJ76 尼科彻斯定理

描述
尼科彻斯定理,又称为斐波那契数列定理,指的是对于任意正整数 n,存在一个由连续奇数组成的数列,使得该数列的和等于 n 的立方。

例如:

  • 对于n = 1,数列{1} 的和为 1^3= 1;
  • 对于n=2,数列{3,5}的和为2^3 =3+5;
  • 对于n=3,数列{7,9,11}的和为3^3=7+9+11;
  • 对于n=4,数列{13,15,17,19}的和为4^3=13+15+ 17+ 19.

现在,给定一个正整数”,请输出这个数列中的元素从小到大相加的形式。我们可以证明答案是唯一的。

输入描述:
输入一个整数 n(1 ≤ n ≤ 100)代表需要输出的数列的和。

输出描述:
在一行上输出一个字符串,用于描述这个数列中的元素从小到大相加的形式。元素与元素之间用加号连接。

示例1

输入:
1
输出:
1

示例2

输入:
2
输出:
3+5

示例3

输入:
3
输出:
7+9+11

示例4

输入:
4
输出:
13+15+17+19

思路:
观察实例可得出由连续奇数组成的数列中的数字个数是正整数 n,且第一个数是n+(n-1)^2;因此根据用户输入的整数 a,生成一个特定格式的数学表达式即可。

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            int index = a+(a-1)*(a-1);
            int i = 0;
            String str = "";
            while(i < a){
                str = str + index + "+";
                index += 2;
                i++;
            }
            System.out.println(str.substring(0,str.length()-1));
        }
    }
}

相关文章:

  • Docker 搭建 Gitlab 服务器 (完整详细版)
  • VScode 开发
  • [算法--前缀和] 和可以被K整除的子数组
  • 软考高级【网络规划设计师】 综合知识
  • 使用Python开发PDF文本提取工具
  • 安装vm和centOS
  • Java进阶学习笔记23——API概述
  • Docker打包Python项目
  • Vue 中动态实现进度条
  • PV Elite 27是专业的压力容器和热交换器设计解决方案
  • 数据分析——Pandas 中的 apply() 函数
  • MySQL 中的事务隔离级别有哪些?MySQL 默认的事务隔离级别是什么?为什么选择这个级别?数据库的脏读、不可重复读和幻读分别是什么?
  • 【System Verilog and UVM基础入门26】Verdi使用教程指南
  • Linux常用命令汇总
  • 电子科技大学考研复习经验分享
  • 微信小程序源码逆向 MacOS
  • [H滑动窗口] lc239. 滑动窗口最大值(模拟+数据结构+单调队列+滑动窗口模板题)
  • 猿大师播放器:交通水利、公安消防Web端Vue网页播放20路RTSP H.265 1080P监控视频流
  • 排序模板——C++
  • 互联网+房产中介+装修设计+物料市场+智能家居一体化平台需求书
  • 公司网站建设需要注意什么/b站推广平台
  • 网站开发设备费用计入什么科目/百度极速版app下载
  • 广西奶茶加盟网站建设/指数查询
  • 建了个网站百度上会有么/国家免费培训网站
  • 天门市城市建设管理局网站/管理课程培训
  • 如何做商城网站/东莞网络优化调查公司