トピック情報
ニコッシュの定理を確認します。つまり、整数mの任意の立方体は、m個の連続する奇数の合計として記述できます。
例えば:
1 ^ 3 = 1
2 ^ 3 = 3 + 5
3 ^ 3 = 7 + 9 + 11
4 ^ 3 = 13 + 15 + 17 + 19
正の整数m(m≤100)を入力し、mの立方体をm個の連続する奇数の合計として書き込んで出力します。
この質問には、複数の入力データのセットが含まれています。
回答
各nのn³値と分解された合計を書き留めます。いくつかのルールを見つけることができます。
つまり、各数n³を分解した後の連続奇数和の真ん中の1ビット(n²)または2ビット(n²-1、n²+ 1)について、これに基づいて、nが5の場合を推測します。
結果値5が等しいと仮定し、最後に式を導出します。29のn ^ 2 + 4を5に接続して、式n ^ + n-1を導出し、の各桁から2を減算します。順番。
コーディング
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Scratch {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input ;
while ((input=br.readLine()) != null) {
int num = Integer.parseInt(input);
// 确定最后一位数字大小
int end = num * num + num - 1;
// 创建数组,并将最后一位值确定
int[] arr = new int[num];
arr[num-1] = end;
// 确定数组中前面每一位的数字大小
for (int i=1; num-i>0; i++) {
arr[num-i-1] = num*num+num-1-2*i;
}
// 遍历数组输出
for (int i=0; i<arr.length; i++) {
if (i < arr.length-1) {
System.out.print(arr[i] + "+");
} else {
System.out.print(arr[i]);
}
}
}
}
}