"함수 fibonacci()"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
6번째 줄: 6번째 줄:
==C==
==C==
[[category: C]]
[[category: C]]
<syntaxhighlight lang='C'>
<syntaxhighlight lang='C' run>
/* http://stackoverflow.com/questions/2751458/fibonacci-function-question */
// http://stackoverflow.com/questions/2751458/fibonacci-function-question
 
unsigned fibonacci(unsigned n, unsigned a, unsigned b, unsigned c) {
unsigned fibonacci(unsigned n, unsigned a, unsigned b, unsigned c) {
     return (n == 2) ? c : fibonacci(n - 1, b, c, b + c);
     return (n == 2) ? c : fibonacci(n - 1, b, c, b + c);
}
}
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang='C'>
<syntaxhighlight lang='C' run>
#include<stdio.h>
#include<stdio.h>
int fibonacci(int x) {
int fibonacci(int x) {

2021년 5월 19일 (수) 02:00 판

함수 fibonacci()
함수 fib()
함수 피보나치

1 C

// http://stackoverflow.com/questions/2751458/fibonacci-function-question
unsigned fibonacci(unsigned n, unsigned a, unsigned b, unsigned c) {
    return (n == 2) ? c : fibonacci(n - 1, b, c, b + c);
}
#include<stdio.h>
int fibonacci(int x) {
    if (x < 2) return x;
    return fibonacci(x-1) + fibonacci(x-2);
}
int main() {
    printf("%d", fibonacci(10)); // 55
}

2 Java

public class MyClass {
	static int fib(int n) { 
		if ( n < 2 ) return n; 
		return fib(n-1) + fib(n-2); 
	}
	public static void main(String args[]) {
		System.out.println( fib(10) ); // 55
	}
}

3 PHP

/* http://stackoverflow.com/questions/15600041/php-fibonacci-sequence */

function fibonacci($n, $c = 2, $n2 = 0, $n1 = 1) {
    return $c < $n ? fibonacci($n, $c + 1, $n1, $n1 + $n2) : $n1 + $n2;
}
function fibonacci($n) {
    return $n < 3 ? 1 : fibonacci($n - 1) + fibonacci($n - 2);
}

4 Python

#! python3
def Fibonacci(n):
    if n < 2: return n
    else: return Fibonacci(n - 1) + Fibonacci(n - 2)

print( Fibonacci(10) )
# 55

5 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}