一些大數模板

//計算兩個大整數的和,要求非負整數
void add(char *s, char *s1, char *s2)
{//s儲存結果,s1、s2是兩個加數
    int len1 = strlen(s1), len2 = strlen(s2);
    reverse(s1, s1 + len1);
    reverse(s2, s2 + len2);
    int t = 0;
    for(int i = 0; i < len1 || i < len2; i++)
    {
        t += i < len1 ? s1[i]-'0' : 0;
        t += i < len2 ? s2[i]-'0' : 0;
        s[i] = t % 10 + '0';
        t /= 10;
    }
    int len = max(len1, len2);
    if(t) s[len++] = t + '0';
    s[len] = '\0';
    reverse(s, s + len);
    reverse(s1, s1 + len1);
    reverse(s2, s2 + len2);
}
發佈了601 篇原創文章 · 獲贊 25 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章