티스토리 뷰
//문제
피보나치 수열: 1, 1, 2, 3, 5, 8, 13, ...
첫번째 + 두번째 = 세번째
두번째 + 세번째 = 네번째
세번째 + 네번째 = 다섯번째
...
피보나치 배열은 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다.
정수 n이 주어지면, n보다 작은 모든 짝수 피보나치 수의 합을 구하여라.
//예제
input: 12
output: 10 // 0, 1, 2, 3, 5, 8 중 짝수인 2 + 8 = 10.
//
// main.c
// program
//
// Created by Eon on 7/26/18.
// Copyright © 2018 Eonseok Yim. All rights reserved.
//
#include <stdio.h>
int fibo (int n) {
if ((n==1) || (n==2))
return 1;
else
return fibo(n-2) + fibo(n-1);
}
int main(int argc, const char * argv[]) {
printf("input: ");
int input = 0 , result = 0, i = 1, fibo_num = 0;
scanf("%d", &input);
while(fibo_num <= input) {
fibo_num = fibo(i);
if (fibo_num%2 == 0)
result += fibo_num;
i++;
}
printf("output: %d\n", result);
return 0;
}
//실행
Eons-MacBook-Pro:Debug eon$ ls
program
Eons-MacBook-Pro:Debug eon$ ./program
input: 12
output: 10
Eons-MacBook-Pro:Debug eon$ ./program
input: 100
output: 188
Eons-MacBook-Pro:Debug eon$
더 짧게 짤수 있을것같은데... fibo 함수의 리턴값을 짝수만 리턴되도록하면...?? 더욱 간결해질것같다..
'알고리즘' 카테고리의 다른 글
ethminer 맥북 충전기 유무 & 디스플레이 꺼짐 유무에 따라 채굴하기 (0) | 2018.11.22 |
---|---|
윈도우 아파치 2.4 WebDAV 서버 설정 (1) | 2018.11.22 |
Java coding, Boggle coding (0) | 2018.10.17 |
가장 큰 이어지는 원소들의 합 (0) | 2018.07.27 |
argc & argv (0) | 2018.07.26 |
- Total
- Today
- Yesterday
- 외장그래픽
- 슈어
- 맥북
- 문제
- eclipse
- 모바일 프로그래밍
- 파이썬
- 환경오염
- NAS
- 프로그래밍
- 서버
- 코딩
- 개발
- 자바
- 백준
- egpu
- Java
- 카카오톡
- se846
- python
- 알고리즘
- 이클립스
- C++
- CodeUp
- Vega64
- 산업화
- 우분투
- 아키티오
- 코드업
- 맥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |