방명록
- 피보나치 수열 구하기(C#으로!)2018년 03월 14일 22시 12분 05초에 업로드 된 글입니다.작성자: RACENI
안녕하세요? 오늘은 C#으로 피보나치 수열을 코딩해보고 프로젝트 오일러(http://euler.synap.co.kr/)의 두번째 문제를 풀어보도록 하겠습니다.
-소스코드-
int x = 0; int y = 1; int z = 0; int sum = 0; for(int i = 1; i>=0; i++) // 제한없이 무한대로 반복함. { z = x + y; // 피보나치 수열에서 앞 두개 더한 값을 얻음. x = y; // 두번째수가 첫번째수로 됨. y = z; // 더한값이 두번째 수가됨. Console.WriteLine(z); //수열 확인(단, i>=0으로 했을 시에는 값이 한없이 나와서 테스트 할때엔 i 값을 10정도로 제한하고 사용하길 바람.) }
재귀함수를 이용하지 않고 초보자도 보기쉽고 직접 코딩할 수 있게끔 해놓았습니다. 소스에 대한 설명은 주석을 참고 하시길 바라며 그래도 이해가 안된다 하시면 댓글로 질문해주시길 바랍니다.
이제는 문제를 풀어보도록 하겠습니다.(문제의 답은 아래로 내리시면 있습니다.)
문제 - 피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?
정답
int x = 0; int y = 1; int z = 0; int sum = 0; for(int i = 1; i>=0 && z <=4000000; i++) { z = x + y; //z==3 x = y; y = z; if(z % 2 == 0) { sum += z; } } Console.WriteLine(sum); // 4백만 이하일때 합
'CODING > C#' 카테고리의 다른 글
[C#]사진 정리 프로그램 (0) 2020.02.18 로또 시뮬레이션 in C# (1) 2019.06.10 듀공 화면 잠금기(스크린 세이버/Screen Saver) in C# (0) 2019.02.03 보어의 원자 모형에 의한 원자의 전자 배치(오비탈:화학)프로그램 (0) 2018.08.10 다음글이 없습니다.이전글이 없습니다.댓글