728x90
반응형


문제)피보나치 수열의 각 항은 바로 앞의 항 두개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.


 1,2,3,5,8,13,21,34,55,89, ...


짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?



소스코드는 이러합니다.

public static void main(String[] args) {

// TODO Auto-generated method stub

int a =1;//1st

int b =2;//2st

int c= 0;//3st=1st+2st

int sum =0;//수열의 합저장

c=a+b;

sum=b;

a=b;

b=c;

while(c<4000000){

c=a+b;

    if(c%2==0)

    {

    sum+=c;

     }//짝수만

a=b;

    b=c;

 }

   System.out.println("sum="+sum);

 }

}


int a,b,c 에서 첫번째 , 두번째 , 세번째 수를 정해주고 뒤에 식으로 피보나치 수열을 완성해 줍니다.


while 문에서 4백만 이하의 조건을 두고

if문으로 짝수만 골라냅니다.




정답.






728x90
반응형

'알고리즘으로 단단해지기' 카테고리의 다른 글

공부해야겠다. 진짜루  (0) 2018.01.29
[Java]간단한 알고리즘 문제 1  (0) 2017.07.24

+ Recent posts