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

 
(사용자 2명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류:피보나치 수]]
[[분류: Math]]
[[분류: Math]]
;함수 fibonacci()
;함수 fibonacci()
6번째 줄: 7번째 줄:
==C==
==C==
[[category: C]]
[[category: C]]
{{참고|C fibonacci()}}
<syntaxhighlight lang='C' run>
<syntaxhighlight lang='C' run>
#include<stdio.h>
#include<stdio.h>
14번째 줄: 16번째 줄:
int main() {
int main() {
     printf("%d", fibonacci(10)); // 55
     printf("%d", fibonacci(10)); // 55
}
</syntaxhighlight>
==C++==
[[분류:C++]]
{{참고|C++ fibonacci()}}
<syntaxhighlight lang='cpp' run>
#include <iostream>
#include <vector>
using namespace std;
vector<int> v = {0,1,1};
int fib(int n) {
    int tmp;
    for(int i=v.size(); i<=n; i++) {
        v.push_back(v[i-1]+v[i-2]);
    }
    return v[n];
}
int main() {
    cout << fib(10) << '\n'; // 55
    cout << fib(20) << '\n'; // 6765
    cout << fib(30) << '\n'; // 832040
    cout << fib(40) << '\n'; // 102334155
    cout << fib(1) << '\n'; // 1
    cout << fib(2) << '\n'; // 1
    cout << fib(3) << '\n'; // 2
    cout << fib(4) << '\n'; // 3
}
}
</syntaxhighlight>
</syntaxhighlight>


==Java==
==Java==
<syntaxhighlight lang='java'>
[[category: Java]]
{{참고|Java fibonacci()}}
<syntaxhighlight lang='java' run>
public class MyClass {
public class MyClass {
static int fib(int n) {  
static int fib(int n) {  
32번째 줄: 66번째 줄:
==PHP==
==PHP==
[[category: PHP]]
[[category: PHP]]
<syntaxhighlight lang='PHP'>
<syntaxhighlight lang='PHP' run>
/* http://stackoverflow.com/questions/15600041/php-fibonacci-sequence */
function fibonacci($n)
 
{
function fibonacci($n, $c = 2, $n2 = 0, $n1 = 1) {
    return $c < $n ? fibonacci($n, $c + 1, $n1, $n1 + $n2) : $n1 + $n2;
}
</syntaxhighlight>
<syntaxhighlight lang='PHP'>
function fibonacci($n) {
     return $n < 3 ? 1 : fibonacci($n - 1) + fibonacci($n - 2);
     return $n < 3 ? 1 : fibonacci($n - 1) + fibonacci($n - 2);
}
}
echo fibonacci(10); // 55
</syntaxhighlight>
</syntaxhighlight>


==Python==
==Python==
[[category: Python]]
[[category: Python]]
<syntaxhighlight lang='Python'>
<syntaxhighlight lang='Python' run>
#! python3
def Fibonacci(n):
def Fibonacci(n):
     if n < 2: return n
     if n < 2: return n
     else: return Fibonacci(n - 1) + Fibonacci(n - 2)
     else: return Fibonacci(n - 1) + Fibonacci(n - 2)


print( Fibonacci(10) )
print( Fibonacci(10) ) # 55
# 55
</syntaxhighlight>
</syntaxhighlight>



2023년 9월 17일 (일) 02:26 기준 최신판

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

1 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 C++[ | ]

#include <iostream>
#include <vector>
using namespace std;

vector<int> v = {0,1,1};
int fib(int n) {
    int tmp;
    for(int i=v.size(); i<=n; i++) {
        v.push_back(v[i-1]+v[i-2]);
    }
    return v[n];
}

int main() {
    cout << fib(10) << '\n'; // 55
    cout << fib(20) << '\n'; // 6765
    cout << fib(30) << '\n'; // 832040
    cout << fib(40) << '\n'; // 102334155

    cout << fib(1) << '\n'; // 1
    cout << fib(2) << '\n'; // 1
    cout << fib(3) << '\n'; // 2
    cout << fib(4) << '\n'; // 3
}

3 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
	}
}

4 PHP[ | ]

function fibonacci($n)
{
    return $n < 3 ? 1 : fibonacci($n - 1) + fibonacci($n - 2);
}
echo fibonacci(10); // 55

5 Python[ | ]

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

print( Fibonacci(10) ) # 55

6 같이 보기[ | ]

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