Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

048 - Java 반복문 while을 사용하여 1/2 + 2/3 + 3/4 + … + 9/10까지의 누적합을 출력하는 프로그램 본문

[Java]/Program source (java)

048 - Java 반복문 while을 사용하여 1/2 + 2/3 + 3/4 + … + 9/10까지의 누적합을 출력하는 프로그램

Jelly-fish 2023. 8. 31. 10:13
/*=========================================
	■■■ 실행 흐름의 컨트롤(제어문) ■■■
	- 반복문 실습 및 관찰
===========================================*/

// 1/2 + 2/3 + 3/4 + 4/5 + ... + 9/10
// 의 연산 처리 결과를 출력하는 프로그램을 구현한다.


// 실행 예)
// 연산 결과 : ?????	← 실수 기반 연산
// 계속하려면 아무 키나 누르세요...

/*
	
	n
	|
	1/2 + 2/3 + 3/4 + 4/5 + ... + 9/10
	  |
    (n+1)

*/

public class Test048
{
	public static void main(String[] args)
	{
		// 주요 변수 선언 및 초기화
		int n = 0;					//-- 1부터 1씩 증가하게 될 변수
		double sum = 0;				//-- 누적합을 담아낼 변수(실수 형태로 처리)


	

		// 연산 및 처리				//-- 0인 상태에서 n이 들어가서, n++를 기준으로 연산하기 때문에 n은 1~8까지만 들어가야 한다.
		while (n < 9)				//-- 0 1 2 3 4 5 6 7 8
										
		{
			// 증감식 구성
			//-- 최종적으로 반복문의 조건을 무너뜨리게 되는 열쇠가 되는 구문
			n++;					//-- 1 2 3 4 5 6 7 8 9
			
			sum += (double)n/(n+1);
			//     (double)1
			//		1.0/2	→	2.0/3	→ 3.0/4 → 4.0/5 ... 9.0/10
			//-- 정수 기반 나눗셈 연산은 몫을 반환하기 때문에
			//	 실수 기반 연산을 수행하도록 처리하기 위해서
			//	 나눗셈 연산자를 중심으로 피연산자 중 하나를
			//   실수 형태로 만들어주는 것이 중요하다.

			


		}


		// 결과 출력
		//System.out.printf("연산 결과 : %f\n", sum);
		//--==>> 연산 결과 : 7.071032

		System.out.println("연산 결과 : " + sum);
		//--==>> 연산 결과 : 7.071031746031746
	}
}

// 실행 결과

/*
연산 결과 : 7.071031746031746
계속하려면 아무 키나 누르십시오 . . .
*/




/*[내 풀이]=================================================================================
public class Test048
{
	public static void main(String[] args)
	{
		
		// 1. 변수 선언
		int i = 1;
		double nDivisionI = 2.0;
		double dResultI = 0;
		double nSum = 0;
		
		// 2. i를 divisionI로 나눈 결과를 sum에 누적합 하는 것을 i가 1~9일 때까지 반복한다.
		while (i < 10)
		{
			dResultI = i / nDivisionI;
			//System.out.println("i : " + i);
			//System.out.println("nDivisionI : " + nDivisionI);
			//System.out.println("dResult : " + dResultI);
			
			nSum += dResultI;

			i++;
			nDivisionI += 1.0;
		}

		System.out.printf("연산 결과 : %f\n", nSum);

	}
}
============================================================================================*/