일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 화장품
- 서평
- 투자
- 주식
- algorithmStudy
- 독서
- 책을알려주는남자
- 성분
- 알고리즘트레이닝
- 알고리즘 공부
- 프로그래밍언어
- 자바스크립트
- 알고리즘공부
- C
- 지혜를가진흑곰
- 다독
- 책알남
- 경제
- 채권
- C++
- 자바
- algorithmtraining
- 돈
- 재테크
- 독후감
- JavaScript
- algorithmTest
- 백준알고리즘
- Java
- 프로그래머스 알고리즘 공부
Archives
- Today
- Total
탁월함은 어떻게 나오는가?
[백준알고리즘] 10870번 재귀방식 피보나치 수 5 문제풀이 [JAVA, JAVASCRIPT, C] 본문
[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training
[백준알고리즘] 10870번 재귀방식 피보나치 수 5 문제풀이 [JAVA, JAVASCRIPT, C]
Snow-ball 2022. 1. 18. 18:21반응형
문제
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.
이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다.
n=17일때 까지 피보나치 수를 써보면 다음과 같다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 n번재 피보나치 수를 출력한다.
자바 풀이 :
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
|
package com.company.recursive;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Fibonacci {
// 0 = 0 , 1 = 1 , 2 = 0 + 1 .....
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int inputNum = Integer.parseInt(br.readLine());
int resultNum = fibonacciFunc(inputNum);
System.out.println("resultNum : " + resultNum);
}
public static int fibonacciFunc(int num){
if (num > 1) {
return num + fibonacciFunc(num - 1);
}
return num;
}
}
|
cs |
자바스크립트 풀이 :
1
2
3
4
5
6
7
8
9
10
|
const fibonacciFunc = (num) => {
if (num > 1) return num + fibonacciFunc(num - 1);
return num;
};
let ranNum = Math.floor(Math.random() * 10);
console.log("ranNum : ", ranNum);
console.log(fibonacciFunc(ranNum));
|
cs |
C언어 풀이 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int fibonacciFunc(int num) {
if (num > 1) return num + fibonacciFunc(num - 1);
return num;
}
int main() {
int inputNum;
scanf("%d", &inputNum);
printf("%d", fibonacciFunc(inputNum));
return 0;
}
|
cs |
반응형
'[Snow-ball]프로그래밍(컴퓨터) > Algorithm Training' 카테고리의 다른 글
[알고리즘트레이닝] 백준알고리즘(BAECKJOON ALGORITHM) 2231번: 분해합 [JAVA] (0) | 2022.01.28 |
---|---|
[백준알고리즘] 2798번: 블랙잭 (0) | 2022.01.27 |
[백준알고리즘] 10872번 팩토리얼 문제풀이 [JAVA, C] (0) | 2022.01.17 |
[알고리즘트레이닝] 백준알고리즘 1085번: 직사각형에서 탈출 [JAVA] (0) | 2021.08.03 |
[알고리즘 트레이닝] 백준 알고리즘 1316번: 그룹 단어 체커 [JAVA] (0) | 2021.07.06 |
Comments