컴공 일기275
게시글 주소: https://orbi.kr/00072352394

교수가 꽤 재미있는 과제를 냈습니다. 피버나치 수열의 1000번째 값을 구하고 싶은데, 보다시피 자리수만 따져 보더라도 200자리가 훌쩍 넘어갑니다. 파이썬은 고민할 필요가 없겠습니다만 C언어에서는 200자리가 넘어가는 정수형을 담을 수 있는 기본 자료형이 존재하지 않습니다. 기껏해야 long long일텐데, 이 마저도 200자리는 커버할 수 없지요.
물론, 라이브러리를 이용하면 이 정도 문제야 간단히 해결할 수 있습니다만
바보가 아닌 교수는 라이브러리를 사용하지 않고, 적합한 코딩을 통해 200자리를 담아낼 수 있는 코드를 작성하라고 하는 겁니다.
방법은 간단합니다. 그냥 합치는 거죠. 기본 타입으로는 200비트를 커버할 수 없으므로, char형 200사이즈 되는 배열 두 개를 만들고,
피버나치 점화식을 돌리면서 이 배열들을 업데이트해주면 됩니다. 기본 정수형이 200비트에 모자라서 생긴 일이니, 충분히 커버할 수 있는 array 자료구조를 이용하면 되는 겁니다.
#include <stdio.h>
#include <string.h>
#define N 209 //The 1000th Fibonacci number has 209 decimal digits.
void print_digits(char d[N])
{
int i = 0;
while(d[i] == 0) i++;
while(i<N)
{
printf("%d", d[i++]);
}
}
void add_digits(char aa[N], char bb[N])
{
int i = 0;
int carry = 0;
int j,s;
while(aa[i] == 0) i++;
for(j=N-1; j>=i-1; j--)
{
if( ( s = carry + aa[j] + bb[j]) > 9)
{
carry = 1;
bb[j] = s-10;
}
else
{
bb[j] = s;
carry = 0;
}
}
}
int main()
{
char aa[N] = {0};
char bb[N] = {0};
char tmp[N] = {0};
bb[N-1] = 1;
for(int i=2; i<=1000; i++)
{
memcpy(tmp, bb, sizeof(bb)); //save bb
add_digits(aa, bb); //update bb
memcpy(aa, tmp, sizeof(tmp)); //update aa
}
print_digits(bb);
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
전여친 송하영 닮았었는데 0 0
그립다
-
아으 살얼음 죽인다 0 0
콜라
-
공통 1415 2122틀 0 0
지금 시기에 머해야 함요 ㅜ
-
원서 기간 0 0
시작하자마자 세 장 다 넣을 듯
-
나도 오노추 0 0
빅나티 31일날 앨범낸다는데 많관부~
-
발뻗잠 가능?
-
오노추 0 0
ㅇㅇㅇㅇ
-
숭실vs세종 0 0
어디가는게 더 좋을까요 안정카드로. 둘다 최초합격권입니다. 이채연, 영어,...
-
245칸수 어떻게생각함 5 0
가나다 245인데 하 괜찮으려나 어떻게 생각들하시는지
-
현역인데 메가 수학 누구듣지 0 0
원래 수학은 인강안듣고 걍 학원에서 대충 개념잡고 수특 풀고 그런식으로 공부해서...
-
왼쪽 기하 친구에용^^
-
기출분석 3 0
사평우의기출분석
-
두원공대가 실제로 있는학교였어???? 10 3
두원공대 1기 신입생중 97%는 부모가 없다고 한다. 자식의 합격소식을 듣고 너무...
-
지금 6칸인데 3 0
붙겠죠? 가군임
-
였죠? 나 원래 성격이 좀 주기적으로 돌고 돔. .
-
더배고파졌음
-
6칸 두개쓸건데 5 0
떨어지진 않겠지..?ㅠㅠ
-
게임 점검 취소는 처음보네 0 1
음
-
1학기 학고반수 2학기 휴학 2 2
해버릴거임 그것도 공대로 본인 수학은 확통4 과탐은 지1 해봄 근데 어쩔수없잖아?...
-
헤드셋을 살까 9 1
근데 헤드셋은 또 정수리 숨 못쉬게해서 탈모 빨리올거같은 걱정이 듦
-
대학 가본 사람 입장에서 2 0
한 번 선택한 곳이 마음에 안 드니까 오르비 하고 있을 거 아님? 단순히 학교...
-
가끔 드는 상상 3 0
옯붕이 정모 옯붕이들 참 괜찮은 사람들이라는 생각이 들때 드는 생각
-
편의점 갈까 말까 9 1
존나 추울것같고 귀찮긴한데 근데 배고파
-
지로함 주제 자체가 사교육 잡지식들 딸깍이라 나는 수능에 절대 안낼줄 알았는데...
-
오늘 사랑니 뺐는데 5 0
부분매복이라 잇몸 쨀 때 나는 오징어 탄내가 너무 소름이었어
-
스나의 꿈이 오늘 짓밟혔음 0 0
에혀
-
생2 재밌슴? 8 0
으흐흐
-
경제나 사문 과외해보고 싶다 5 2
돈은 안 받아도 좋으니 그냥 내 지식을 나누고 싶음. 수학도 나름대로 해보고는...
-
이상한 사람만 팔로우 하는데 21 2
역시 언제 봐도 다들 이상한 것 같아...
-
근데 맹꽁 얘네는 진짜 뭐임? 0 2
책이랑 현강까지 다 올리더니 올해는 인강까지 따서 올리고있네ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 걍...
-
솔직히 26시즌 지로함은 2 2
그동안 나온 지로함 기출을 기억,스킬에 의존해서 딸깍거리지는 않았니? 라고 묻는...
-
건수 유명한거 3 0
일반인들도 다 앎? 경희한은 다들 아는거 같긴하던데
-
미적 한 번도 해본 적 없고 과탐이라곤 고1 때 통합과학 해본 게 전부임 이런 내가...
-
재밌다
-
걍 평생 가난해도 좋으니 4 1
나 좋아하고 나도 좋아하는 사람과 평생 살고싶다
-
칸수 335 어떤가요 2 0
추가모집을 바라보는 제가 보이는거 같기도하고
-
폰 바꾸려는데 추천좀 3 0
지금 13프맥 쓰는 중
-
우진이 뉴런 수1 미적 색상은 0 1
아무리 봐도 24 재탕같은데
-
높은 5칸인거같은디 추합으로 뜨긴하는데 붙을수 있나요??
-
그러니 내게 샤대를 주십시오 선생. 서울대 입학 판정만이 한 인간을 살릴 수...
-
근데 오르비언들은 안졸림? 5 0
슬슬 난 잘래 안ㄴ녕
-
이거 되나 2 0
13명 뽑는데 14등 4칸 불합격
-
가슴작고 틱틱대는 성격 어떰? 8 1
그게 머냐고 말하면 나 같은 성격임
-
요즘 신음소리 연구하고있음 8 2
개쩌는 자동차 릴스 볼때마다 댓글로 감상을 달고있거든
-
241122같은 여자는 어때 3 0
원점이라는 누가 봐도 다 아는 퐉스짓으로 사람홀리게 만들면서 겉모습은 순수하게...
-
올해 연말은 빅이벤트 없나 0 0
작년 연말급 임팩트은 인생살면서 보기힘들듯 ㅋㅋㅋ
-
260622 진짜 발상이 필요 없는 문제가 맞음? 5 0
자취를 떠올리는 게 기존까지 있어왔음? 나한테는 너무 충격적이었음
-
문과에서 학교로 디메리트 받지 않을 라인은 어디까지일까 7 0
서성한?
-
학벌정병 진짜없는듯 8 1
부모님이 서성한 밑으로 다 똑같다하니까 외대문과쓸성적으로 오케이 충남대장학금갈게요...
와 님 오랜만
ㄷㄷ
빅 인티저 문제 맞나 이게
이야 이거 1학년 자료구조 과제였는데