알고리즘으로 단단해지기
[Java]간단한 알고리즘 문제 2
문성준
2017. 7. 25. 23:12
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
반응형