网站建设如何弄链接wordpress altair
华为机试牛客刷题之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 处理多个 caseint 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));}}
}