Last active
December 16, 2015 16:59
-
-
Save giseongeom/5466997 to your computer and use it in GitHub Desktop.
생활코딩 문제: "피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?" 출처 : http://euler.synap.co.kr/prob_detail.php?id=2 자신이 시도해보고 싶은 언어나 가장 잘 사용하는 언어를 사용하셔 푸시면 됩니다. 그 답의 소스와 답, 설명을 답글로 달아주세요^^
그리고 되도록이면 위 사이트에도 답변을 달아주시기를 부탁드립니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
SETLOCAL EnableDelayedExpansion | |
SET /A FIBO_MAX=4000000 | |
SET /A FIBO_A=1 | |
SET /A FIBO_B=2 | |
SET /A FIBO_TMP=0 | |
SET /A FIBO_E_SUM=0 | |
SET FIBO_LIST=List.txt | |
:: Create List | |
echo !FIBO_A! > !FIBO_LIST! | |
echo !FIBO_B! >> !FIBO_LIST! | |
GOTO LOOP_GET_FIBO | |
:LOOP_GET_FIBO | |
SET /A FIBO_TMP=!FIBO_A! + !FIBO_B! | |
if !FIBO_TMP! gtr !FIBO_MAX! GOTO LOOP_GET_FIBO_E | |
echo !FIBO_TMP! >> !FIBO_LIST! | |
SET /A FIBO_A=!FIBO_B! | |
SET /A FIBO_B=!FIBO_TMP! | |
GOTO LOOP_GET_FIBO | |
:LOOP_GET_FIBO_E | |
FOR /F %%i IN (%FIBO_LIST%) DO ( | |
SET /A FIBO_E=%%i %% 2 | |
if !FIBO_E! equ 0 SET /A FIBO_E_SUM += %%i | |
) | |
GOTO RESULT | |
:RESULT | |
echo Answer: !FIBO_E_SUM! | |
del /q /f %FIBO_LIST% | |
ENDLOCAL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
C:\temp>get_fibonacci.cmd
Answer: 4613732
C:\temp>