大数之和

大数之和
题目描述
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
(字符串长度不大于100000,保证字符串仅由’0’~'9’这10种字符组成)

算法思想:要求以字符串形式返回,直接相当于写一个加法的运算。

直接从末位开始相加,定义一个bit进位,两数相加之和大于十,将bit置为1,否则置为零。

代码:

string solve(string s, string t) {
        // write code here
        string str;
       
        int len1 = s.size()-1,len2 = t.size()-1;
        int bit = 0;
        while(len1 >=0 && len2 >=0)
        {
            
            str.push_back((s[len1]-'0'+t[len2]-'0'+bit)%10+'0');//直接将末位两数相加以字符串形式放入str
            if(s[len1]-'0'+t[len2]-'0'+bit>=10)bit = 1;
            else
            {
                bit = 0;
            }
            len1--;
            len2--;
        }
        while(len1>=0)//s若还有剩余
        {
            str.push_back((s[len1]-'0'+bit)%10+'0');//上一次相加的bit是否为1
            if(s[len1]-'0'+bit>=100)bit =1;//为“999999”的情况
            else
            {
                bit = 0;
            }
            len1--;
        }
        while(len2 >= 0)//若t中还有剩余
        {
            str.push_back((t[len2]-'0'+bit)%10+'0');
            if(t[len2]-'0'+bit>=10)bit = 1;
            else
            {
                bit = 0;
            }
            len2--;
        }
        if(bit == 1)str.push_back('1');//若两数相加大于十bit为1   再向前进1
        reverse(str.begin(),str.end());
        return str;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数定理和中心极限定理是概率论中的两个重要定理,它们都是关于随机变量序列的极限行为的定理。 大数定理是指,对于一组独立同分布的随机变量,它们的算术平均值在概率意义下收敛于它们的期望值。也就是说,当样本数量足够大时,样本的平均值会趋近于总体的平均值。这个定理在统计学中有着广泛的应用,例如在抽样调查中,我们可以通过对样本进行统计分析来推断总体的特征。 中心极限定理是指,对于一组独立同分布的随机变量,它们的和在样本数量足够大时,近似服从于正态分布。也就是说,当我们对一个随机事件进行多次独立实验并将结果求和时,这个和的分布会趋近于正态分布。这个定理在统计学中也有着广泛的应用,例如在抽样调查中,我们可以通过对样本进行统计分析来推断总体的特征。 下面是一个演示中心极限定理的例子: 假设我们有一个硬币,正反面出现的概率都是50%。我们进行1000次独立实验,每次实验记录正面朝上的次数。我们将这1000次实验的结果求和,得到一个随机变量X。根据中心极限定理,当样本数量足够大时,X的分布会趋近于正态分布。我们可以通过Python代码来演示这个过程: ```python import random import matplotlib.pyplot as plt # 进行1000次实验,每次实验记录正面朝上的次数 results = [] for i in range(1000): result = sum([random.randint(0, 1) for _ in range(10)]) results.append(result) # 绘制结果的直方图 plt.hist(results, bins=range(11)) plt.show() ``` 通过运行上述代码,我们可以看到,当样本数量足够大时,结果的分布会趋近于正态分布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值