탄소 언어 피보나치 시리즈 작업 예제
Google은 최근에 Carbon programming language을 도입했습니다.
Carbon 언어는 아직 초기 단계에 있으며 아직 준비되지 않았습니다. 그러나 새로운 언어를 배우기 위해 주변을 탐색하고 싶습니다. 탄소 언어를 설정한 후 피보나치 수열 예제를 반복하여 실행하려고 했지만 작동하지 않았습니다. 그래서 재귀 예제를 시도했고 효과가 있었습니다. 전체 작업 예는 다음과 같습니다.
while
루프 + 재귀를 사용하는 반복 버전을 선호하는 경우 여기에서 확인할 수 있습니다: Carbon language Fibonacci series, print nth Fibonacci numberpackage sample api;
fn Fibonacci(n: i32, a: i32, b: i32) -> i32 {
Print("{0} ", a);
if (n == 0) {
return a;
}
return Fibonacci(n - 1, b, a + b);
}
fn Main() -> i32 {
var n: i32 = 6;
let nthFibNumber : auto = Fibonacci(n, 1, 1);
Print("*****");
Print("(N+1)th fibonacci number : {0}", nthFibNumber);
return nthFibNumber;
}
코드 이해:
재귀 코드를 사용하여 n 번째 피보나치 수를 계산합니다.
fib(n) = fib(n-1) + fib(n-2)
시퀀스를 인쇄하려면
for
루프가 아직 카본에서 작동하지 않기 때문에 재귀를 사용하여 n번째 숫자를 인쇄합니다. 각 단계에서 a
및 b
를 사용하여 b
및 a+b
의 위치를 바꾸고 재귀 시작 부분에 n번째 숫자를 인쇄합니다.fn Fibonacci(n: i32, a: i32, b: i32) -> i32 {
Print("{0} ", a);
if (n == 0) {
return a;
}
return Fibonacci(n - 1, b, a + b);
}
마지막으로 우리는 이것을 메인 메소드에서 호출합니다. 한 가지 주의할 점은 메서드가 재귀에서 n+1 번째 피보나치 수를 반환할 때마다입니다. 따라서 n 번째 피보나치 수를 인쇄하는 것도 더 쉽습니다.
fn Main() -> i32 {
var n: i32 = 6;
let nthFibNumber : auto = Fibonacci(n, 1, 1);
Print("*****");
Print("(N+1)th fibonacci number : {0}", nthFibNumber);
return nthFibNumber;
}
추가 Carbon 언어 읽기:
Carbon language vs Rust detailed comparison
Carbon language memory management
이것은 초심자를 위한 탄소 언어 시리즈의 일부입니다. 카본에 관한 궁금한 사항은 언제든지 문의주세요.
Reference
이 문제에 관하여(탄소 언어 피보나치 시리즈 작업 예제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tipseason/carbon-language-fibonacci-series-working-example-1c2h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)