피보나치 수를 구할 때 long long을 사용하여서 출력하면 양수가 나오는데, int로 출력하면 항의 수가 클 때에는 음수가 나오는 경우가 있더라고요. 근데 코드를 int로 짰더니 맞았네요. 원래는 long long을 사용해야 할 것 같네요.
2015.11.18 23:10:09
cbsh27LJH
코드는 이렇습니다.
#include <stdio.h> int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); long long a[100000]; int n,i; scanf("%d",&n); for(i=1;i<=n;i++){ if(i==1||i==2) a[i]=1; else a[i]=a[i-2]+a[i-1]; } printf("%lld",a[n]); }
저 피보나치 n번째 항 구하기 저 100점인데여...
일단 소스코드를 올리셔야지 정확한 답변을 드리죠