[Java] 1/1 + 1/2 + 1/3 ... 1/n 의 합 구하기

Haeun Noh·2022년 7월 19일
0

JAVA_예제

목록 보기
8/23
post-thumbnail

0720


For문을 사용하여 1/1 + 1/2 + 1/3 ... 1/n 의 합을 구하시오.

ex)

숫자 입력 : 100
1+(1/2)+(1/3)+(1/4)+(1/5)
+(1/6)+(1/7)+(1/8)+(1/9)+(1/10)
+(1/11)+(1/12)+(1/13)+(1/14)+(1/15)
+(1/16)+(1/17)+(1/18)+(1/19)+(1/20)
+(1/21)+(1/22)+(1/23)+(1/24)+(1/25)
+(1/26)+(1/27)+(1/28)+(1/29)+(1/30)
+(1/31)+(1/32)+(1/33)+(1/34)+(1/35)
+(1/36)+(1/37)+(1/38)+(1/39)+(1/40)
+(1/41)+(1/42)+(1/43)+(1/44)+(1/45)
+(1/46)+(1/47)+(1/48)+(1/49)+(1/50)
+(1/51)+(1/52)+(1/53)+(1/54)+(1/55)
+(1/56)+(1/57)+(1/58)+(1/59)+(1/60)
+(1/61)+(1/62)+(1/63)+(1/64)+(1/65)
+(1/66)+(1/67)+(1/68)+(1/69)+(1/70)
+(1/71)+(1/72)+(1/73)+(1/74)+(1/75)
+(1/76)+(1/77)+(1/78)+(1/79)+(1/80)
+(1/81)+(1/82)+(1/83)+(1/84)+(1/85)
+(1/86)+(1/87)+(1/88)+(1/89)+(1/90)
+(1/91)+(1/92)+(1/93)+(1/94)+(1/95)
+(1/96)+(1/97)+(1/98)+(1/99)+(1/100)
=5.187377517639621

단 한 줄에 5개씩 출력합니다.


소스

import java.util.Scanner;
public class For_Test4 {
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		
		System.out.print("숫자 입력 : ");
		int num = scan.nextInt();		

		double sum=1;
		System.out.print("1");
		for ( int i = 2; i <= num; i++ ) {
			System.out.print( "+(1/"+i+")" );
			sum += 1/(double)i;
			if ( i % 5 == 0 ) System.out.print("\n");
		}	
		System.out.println("="+sum);
	}
}

소스 풀이

  1. 수를 입력받을 Scanner를 사용합니다.
  2. 입력받은 수를 num에 저장합니다.
  3. 맨 처음 1이 더해지므로 처음에 1을 출력하고 i의 초깃값을 1이 아닌 2로 줍니다.
  4. 고정되는 +(1/ ) 는 변수값을 주지 않고 변하는 값에는 i를 출력합니다.
  5. 합계를 나타내는 sum1+(1/i)+...+(1/num)의 합을 저장합니다.
  6. 만약 출력한 갯수와 같은 i가 5의 배수가 된다면 줄바꿈을 합니다.
  7. num까지의 합계를 계산했다면 for문을 빠져나와 = sum을 출력합니다.

실행 결과

숫자 입력 : 50
1+(1/2)+(1/3)+(1/4)+(1/5)
+(1/6)+(1/7)+(1/8)+(1/9)+(1/10)
+(1/11)+(1/12)+(1/13)+(1/14)+(1/15)
+(1/16)+(1/17)+(1/18)+(1/19)+(1/20)
+(1/21)+(1/22)+(1/23)+(1/24)+(1/25)
+(1/26)+(1/27)+(1/28)+(1/29)+(1/30)
+(1/31)+(1/32)+(1/33)+(1/34)+(1/35)
+(1/36)+(1/37)+(1/38)+(1/39)+(1/40)
+(1/41)+(1/42)+(1/43)+(1/44)+(1/45)
+(1/46)+(1/47)+(1/48)+(1/49)+(1/50)
=4.499205338329423


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글