[알고리즘] 분수 수열 덧셈
2021. 9. 23. 21:35ㆍ알고리즘/문제 풀이
728x90
분수 수열 문제의 해법
1. 분자, 분모의 상호 연관성이 있는지를 확인
2. 분자, 분모의 반복 규칙을 따로 찾음
3. 분자, 분모의 변수 중 어느 것으로 반복되었는지 확인
※ 예제
1/2+2/3+3/4+...+49/50을 구하여 출력하는 순서도를 작성하세요.
위의 분수 수열 문제의 해법 중 분자, 분모의 상호 연광성이 있는지 확인해보면 분모 값이 분자 값 보다 1이 크다는 연관성을 알 수 있습니다.
이런 연관성을 변수로 표현한다면
i / (i+1)
이런 방법으로 표현할 수 있습니다.
분자에만 변수를 i로 선언했기 때문에 지금과 같은 경우에는 STOP을 하려면 분자 변수로 선언한 i로 끝을 내야 합니다. 때문에 i값이 49일 때까지 진행하게 하면 됩니다.
순서도를 나타내면 이와 같습니다.
i 와 SUM 에 초깃값 0을 주고 1회전을 해 보면
변수 i 에 0 + 1 이 되어 값이 1이 되고
N = 1/(1+1)
SUM = 0 + 1/2
까지 진행된 뒤에 1회전이 끝나고 2회전 때 2/3 이 더해지는 방식으로 반복되게 됩니다.
선증가이기 때문에 i < 49 NO 조건에 충족되면 SUM을 출력하고 종료하면 됩니다.
만약 1회전에 1/2 이 아닌 2/3 부터 더해지길 원한다면 초깃값으로
i = 1
SUM = 1/2 을 주게 되면
1회전에 2/3 부터 더해지는 식을 만들 수 있습니다.
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[알고리즘] 90도 회전 (0) | 2021.10.08 |
---|---|
[알고리즘] 다이아몬드 만들기 (0) | 2021.10.07 |
[알고리즘] ㄹ자 채우기 (0) | 2021.10.06 |
[알고리즘] 직각삼각형 만들기 (0) | 2021.09.27 |
[알고리즘] 에라토스테네스의 체를 이용해 소수 구하기(JAVA) (0) | 2021.09.24 |