1788번

· 백준
코드#include using namespace std;typedef long long ll;ll a[1000003], n, temp;int main() { cin >> n; temp = n; n = abs(n); a[0] = 0; a[1] = 1; for(int i = 2; i 0) { cout 음수로 피보나치 수를 확장하는 문제이다. 음수일 때는 절대값이 홀수일 때 양수, 짝수일 때 음수가 나온다. 절대값은 피보나치 수와 같이 나오기 때문에 부호만 잘 붙여주면 되는 문제
· 백준
코드1 def fibo(x): x = abs(x) if x == 0: return 0 a,b = 0, 1 for _ in range(2, x+1): a,b = b, a+b return b n = int(input()) res = fibo(n) if res == 0: print(0) elif n < 0 and abs(n)%2 ==0: print(-1) else: print(1) print(res%1000000000) 파이파이로 겨우 통과한 코드이다. 메모리 초과에 대한 해답을 찾기 위해 2개만 저장했는데, 훨씬 좋은 방법이 있었다. 또 이를 뒷받침하는 근거도 첨부했으니 문제 풀 때마다 기억하면서 해결해봐야겠다. 코드2 def fibo(x): x = abs(x) if x == 0: return 0 table..