<第3節-ダブルポインタ、スライドウィンドウ>5.連続自然数の和


5.連続する自然数の和
<説明>
入力された整数Nが正の整数Nである場合、整数Nの2つ以上の連続自然数の和は
メソッドの偽数を出力するプログラムを作成してください.
N=15の場合.
7+8=15
4+5+6=15
1+2+3+4+5=15
3つのケースがあります.
<入力>
第1行は、正の整数N(7<=N<1000)を与える.
<出力>
最初の行の場合、出力の合計数.
===================================================
<コード>
連続する数字を特定の値から減算する.たとえば、3つの数値が連続している場合、特定の値から1、2、3の値を減算します.減算数の特定の値を3で割った場合、残りの値が0であれば除算に等しく、除算した数がそれぞれ1、2、3に加算されると連続数が現れる.これらのプロセスを繰り返して、状況の数を求めます.
import java.util.*;

class Main {	
	public int solution(int n){
		int answer=0;
		int cnt=1;
		n--;
		while(n>0) {
			cnt++;
			n-=cnt;
			if(n%cnt==0) answer++;
		}
	
		return answer;
	}
		
		
	public static void main(String[] args) {
		Main main = new Main();
		Scanner scan = new Scanner(System.in);
		
		int n=scan.nextInt();
		
		System.out.print(main.solution(n));
		}
}
<重要>
1)連続した数字を消して、その値に除算した値を加える考え!