컴공 일기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
실모 빨리 사 놔야 겠다 김범준 실모 끌리는데 해볼까 살 거 : 식센모 파이널...
-
생1 파이널 0
서바 vs 브릿지
-
아프리카서버 쓰니깐 동영상이 자꾸 끊기네요..
-
내일 사무엘하 다읽기도전 .. 총 24장
-
님들 ㅊㅊ좀 1
편의점 갈건데 마실거 ㅊㅊ좀 술은 안됨
-
기시감 보니까 기시감에 수록 안된 문제인걸로 보이는데 14-21학년도 평가원...
-
이게 맞나 ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ 3번째인데도 이리아프네..
-
건국대
-
아아아아ㅏㅏ 4
저녁먹자저녁 굶으면서공부하면안댐
-
현 고2이고.. 생각의 질서 +쎈b 이후 커리가 고민입니다. 9모 성적은 14112...
-
ㅉ
-
진짜 개 늙은 거 같네 그 와중에 졸리니깐 얼버취해야할 듯 ㄹㅇ
-
주제는 현시점 등급대별 가성비 공부법 + 1년 커리큘럼 + 영어 모의고사의 특징...
-
그냥 행렬 형태랑 행렬계산만 배우는거죠 방정식푸는게 아니고 ?
-
ㅈㄱㄴ
-
서울 아재개그 모음집 20
서울에서 생산된 고기는? 살코기(지방이 없으니깐) 우리나라 지도에서 서울이...
-
국어 실모 추천 1
매주 일요일마다 돌릴 건데 난이도 너무 어려운 거 말고 적당히 잔잔한 거 있을까요?
-
연애는 1
조은것임
-
이볘스
-
나이가 ㅠㅠㅠㅠ
-
T1시기 T2시기의 우주 구성 요소 중 물질 비율이 1:6 이라면 부피는 6:1이 맞지 않나요?
-
오늘은 놀게~
-
ㄴ. 선지가 틀리다 라고 되있는데 저거는 위법성 조각사유아님? 그럼 책임능력은...
-
생1 실모에서 0
3개 정도 틀리면 (찍맞x) 평가원 1컷은 나오려나
-
내 이상형은 7
군필이고 수학 좋아해야함
-
노베 50일 수학 듣는데 정승제 딴소리하는거 적응해야겠죠..? 0
강의는 분명 바로바로 이해되게 잘 해주시는데 강의 중간에 쓸데없는 말이나 개그...
-
아저씨같음
-
참고로 영화 본 거 거의 없음 사용 OTT: 넷플릭스
-
오노추 0
-
공부도 안되는데 그냥 어디 놀러가고싶어
-
숨이 턱턱 막힘.. 4점 3개를 다 못풀때 그 멘탈이 진짜 너무 끔찍함.....
-
장기연애 특 17
그냥 뇌가 동기화 된 찐친 같은데 가끔 상대가 꾸미고 오면 연애 초창기 생각나서 엄청 설렘
-
싸맛과 신청 ㄱㄱ
-
로그인 무한로딩 도댜체 언제 고칠래
-
솔직히너무거품ㅇㅈ?
-
연논 화이팅 0
논술 출신은 아니지만 응원합니다 26학번으로 만나요
-
여자한테 Y 염색체 줌
-
“옷 속에 거미 들어갔다” 20대女 속여 몸 더듬은 日남성 덜미 5
산책 중이던 여성에게 접근해 “옷 속에 거미가 들어갔다”며 신체를 만진 30대 일본...
-
반드시 호흡을 두번정도 끊어라.. 실수를 안하는것이 더 중요하다 생1은 컨디션 빨을...
-
못참겠다 9
-
와 이해원 미적 2
왜이렇게 좋지? 개인적으로 이해원 공통 시즌1은 풀다가 문제느낌이 나랑 너무...
-
안녕하세요 '지구과학 최단기간 고정 1등급만들기' 저자 발로탱이입니다. 지난 1년간...
-
접사 구분 질문이여 12
새내기를 형태소 분석하면 새/내기 저는 접사 구분 할때 접사인지 체언인지 의심 가는...
-
9덮 성적 2
대충 백준위 94 94에 영어2 사문생윤 3컷일거 같은데 수능에서 이 성적 받으면...
-
아내가 매춘부였었네 아내가 매일 몸팔아서 번돈 조금 떼서 남편한테 준거엿고......
-
과탐 실모로 서바 강k 인강 실모 다 제끼고 어떻게 소규모 팀 제작 실모가 다 해...
-
닫힌구간에서 f의 최대 최소 합을 함수 g라고 했을 때 f랑 g의 관계가 조건으로...
와 님 오랜만
ㄷㄷ
빅 인티저 문제 맞나 이게
이야 이거 1학년 자료구조 과제였는데