<第3節-ダブルポインタ、スライドウィンドウ>5.連続自然数の和
899 ワード
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に加算されると連続数が現れる.これらのプロセスを繰り返して、状況の数を求めます.
1)連続した数字を消して、その値に除算した値を加える考え!
<説明>
入力された整数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)連続した数字を消して、その値に除算した値を加える考え!
Reference
この問題について(<第3節-ダブルポインタ、スライドウィンドウ>5.連続自然数の和), 我々は、より多くの情報をここで見つけました https://velog.io/@seunghee127/섹션3-Two-pointers-Sliding-window-5.-연속된-자연수의-합テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol