正の整数を指定し、連続的に増加した整数とその整数のシーケンスを出力します.
public class SequenceDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
while (scanner.hasNext()) {
int input = scanner.nextInt();
getIncrNum(input);
System.out.println(" ");
}
}
public static void getIncrNum(int num) {
StringBuilder stringBuilder = new StringBuilder();
int mid = (num + 1) / 2;
for (int i = 1; i <= mid; i++) {
for (int j = i + 1; j <= mid; j++) {
stringBuilder.setLength(0);
int sum = 0;
// i-j
for (int k = i; k < j + 1; k++) {
sum += k;
stringBuilder.append(k + " ");
}
if (sum == num) {
System.out.println(" :" + stringBuilder.append("= " + num));
}
}
}
}
}
実行結果は次のとおりです.
整数15シーケンス数を入力してください:1 2 3 4 5=15シーケンス数:4 5 6=15シーケンス数:7 8=15整数21シーケンス数:1 2 3 4 5 6=21シーケンス数:6 7 8=21シーケンス数:10 11=21