Contents

?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

빅넘버 연산 (Big number)

기본 자료형(int)이 표현할 수 있는 숫자보다 더 큰 숫자를 덧셈하는 예제..

문자열로 입력 받고 모두 문자열 자체를 덧셈 매커니즘에 적용함.

(gets 함수 warning 으로 fgets 함수로 대체 사용~)

#include <stdio.h>
#include <string.h>

int main(){
    static char s1[200],s2[200];
    int max, sum, t, i, j, k, size_1, size_2;
    static int re[200],f1[200],f2[200];
    
    //버퍼오버플로우 취약점으로 gets -> fgets로 변경
    printf("First No : ");
    //gets(s1);
    fgets(s1, sizeof(s1)-1, stdin);
    
    printf("Second No : ");
    //gets(s2);
    fgets(s2, sizeof(s2)-1, stdin);
    
    //fgets는 엔터까지 입력받으므로 1을 뺀다.
    //size_1 = strlen(s1);
    //size_2 = strlen(s2);
    size_1 = strlen(s1)-1;
    size_2 = strlen(s2)-1;

    printf("size 1=%d, 2=%d\n", size_1, size_2);
    
    max=size_1>size_2?size_1-1:size_2-1;
    
    k=0;    
    for(i=size_1-1;i>=0;i--){
        f1[k]=s1[i]-'0';
        k++;
    }
    
    k=0;
    for(i=size_2-1;i>=0;i--){
        f2[k]=s2[i]-'0';
        k++;
    }
    
    for(i=0;i<=max;i++){
        sum=f1[i]+f2[i];
        if(sum>9){
            re[i]+=sum%10;
            re[i+1]+=sum/10;
        }else re[i]+=sum;
    }
    
    for(i=max;i>=0;i--) printf("%d",re[i]);
    printf("\n");

    return 0;
}


?
  • ?
    broDuck 2016.01.31 14:02
    999 + 999 와 같은 carry가 붙는 같은 자리수 연산에서는 예외처리가 되어있지 않네요. max값을 조정하는 코드가 들어가야 할 것 같아요~

List of Articles
No. Category Subject Author Date Views
669 Develop [js] 자바스크립트(Javascript) 코드를 동적으로 삽입하는 방법.. file hooni 2013.04.23 22934
668 Develop 밸런싱 로봇.. 최종.. (관련 논문도 첨부) ㅋㅋ file hooni 2013.04.23 22876
667 Develop 레고 마인드스톰 NXT 수도쿠, 큐브 소스코드.. 20 file hooni 2013.04.23 81588
666 Etc 아두이노 관련 정보.. hooni 2013.04.23 21816
665 Develop 레고 NXT 마인드스톰 밸런싱 로봇 ㅎㅎ file hooni 2013.04.23 57767
664 Develop 모터에 대한 pid 제어.. ㅎㅎ file hooni 2013.04.23 18938
663 Develop [doc] UI개발시 유용한 소프트웨어 (개발 및 디버깅 툴) hooni 2013.04.23 12934
662 Etc [flash] 자동차 엔진의 원리 (4행정 사이클 그림) file hooni 2013.04.23 21283
661 Develop [pdf] GPS의 동작 원리 ㅎㅎ file hooni 2013.04.23 23904
660 Develop [android]개발 가이드 및 한글화 문서 file hooni 2013.04.23 47562
659 Etc [ios] 아이폰 개발 따라하기 ㅋㅋㅋ hooni 2013.04.23 23344
658 Develop [android] 해상도 관련 팁 (dip -> pixel 변환) hooni 2013.04.23 15367
Board Pagination Prev 1 ... 38 39 40 41 42 43 44 45 46 47 ... 98 Next
/ 98