본문 바로가기
JAVA/Algorithm

[ 알고리즘 Algorithm ] 1부터 n까지 정수 합 구하기

by haeun 하은 2022. 4. 29.
728x90

While 반복문

While(제어식) 명령문

실행 전에 반복을 계속할지를 판단, '사전 판단 반복 구조' 제어식의 평갓값이 0이 아니면 프로그램 명령문이 반복된다.

import java.util.Scanner;

//1부터 n까지의 정수 합을 구하는 알고리즘 while문
public class SumWhile {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.println("1부터 n까지의 합을 구합니다.");
		System.out.println("n의 값 :");
		int n = sc.nextInt();
		
		int sum = 0;    //합
		int i = 1;
		
		while(i <=n) {  //i가 n이하면 반복합니다.
			sum += i;   //sum에 i를 더합니다.
			i++;        //i값을 1만큼 증가시킵니다.
		}
		System.out.println("1부터 "+n+"까지의 합은 "+sum+"입니다.");
	}

}

✔ Scanner 이용해서 n의 값 받기

 변수 sum의 값은 '루프 본문을 수행하는 동안의 합' 

 변수 i의 값은 '다음에 더하는 값'

 i가 10일때 변수sum의 값은 '1부터9까지의 합'인 45이다.(최종 결과값은 10까지 더해지기 전의 값이다.)

 i의 값이 n을 초과했을 때 반복문이 종료되므로 최종값은 i가 n이 아니라 n+1이다.

🔽 System.out.println("n의 값은"+i+"입니다."); 의 출력문은 n의 값이 n+1인 11으로 출력되는 것을 확인 할 수 있다.

 

 


 

 

For 반복문

for(초기화 부분;제어식;업데이트 부분)명령문

하나의 변수를 사용하는 반복문은 While문보다 for문을 사용하는 것이 좋다.

✔초기화 부분은 for문 실행하기 전에 한번만 실행한다.

✔제어식을 평가한 값이 true이면 for문의 명령문을 반복한다.

✔명령문을 실행한 다음에는 업데이트 부분을 실행한다.

import java.util.Scanner;

//1부터 n까지의 정수 합을 구하는 알고리즘 for문
public class SumFor {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.println("1부터 n까지의 합을 구합니다.");
		System.out.println("n의 값 :");
		int n = sc.nextInt();
		
		int sum =0;    //합
		
		for (int i=1; i<=n; i++)
			
		sum += i;  //sum에 i를 더합니다.
		
		System.out.println("1부터 "+n+"까지의 합은 "+sum+"입니다.");
	}
}

 

 

 

🔽Console

 

728x90
반응형

댓글