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);
}
}
Scanner
를 사용합니다.num
에 저장합니다.1
이 더해지므로 처음에 1
을 출력하고 i
의 초깃값을 1이 아닌 2로 줍니다.+(1/ )
는 변수값을 주지 않고 변하는 값에는 i
를 출력합니다.sum
에 1+(1/i)+...+(1/num)
의 합을 저장합니다.i
가 5의 배수가 된다면 줄바꿈을 합니다.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