一些大数模板

//计算两个大整数的和,要求非负整数
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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章