大数运算!(3)乘法

简介: 大数运算!(3)乘法

求a*b

先定义3个数组,在求出接受数字的那两个数组的长度,根据数学知识知道,i位数和j位数的乘积位数在[i+j-1,i+j]这个区间内。

因为要用第三个数组来接受乘积,所以将第三个数组都设置为零,运用memset函数。(作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作)

然后开始进行遍历,运用两次for循环。c[i + j + 1]代表进位值,c[i + j]代表个位上的数(表述不出来……)上代码

#include <stdio.h>
#include<string.h>
int main()
{
    char a[1000],b[1000];
    int c[2000];
    while(scanf("%s%s",a,b)!= EOF)
    {
        int al,bl,ai,bi;
        al = strlen(a);
        bl = strlen(b);
        memset(c, 0, sizeof(c));
        for(int i = 0; i < al; i++){
            ai = a[al - i -1] - '0';
            for(int j = 0; j < bl; j++) {
                bi = b[bl - j - 1] - '0';
                c[i + j] += ai * bi;
                c[i + j + 1] += c[i + j] / 10;
                c[i + j] = c[i + j] % 10;
            }
        }
        int k = al + bl;
        while(c[k] == 0) k--;
        if(k < 0)
            puts("0");//这是当0作为乘数时的情况,直接输出零
        else{
            while(k >= 0)
                printf("%d", c[k--]);
            puts("");
            }
    }
    return 0;
}
【PS:下面的while循环是去掉前导零的过程。k取位数最大时的情况,在依次看是不是有零,有零就在看下一位,直至找到不为零的数在开始倒序输出。】
相关文章
|
人工智能 自然语言处理 NoSQL
悦数图数据库推出 AI 知识图谱构建器及图语言生成助手
随着人工智能应用在全球范围的普及和风靡,大语言模型技术(Large Language Model,简称 LLM)受到了广泛的关注和应用。而图数据库作为一种处理复杂数据结构的工具,能够为企业构建行业大语言模型提供强大的支持,包括丰富亿万级别的上下文信息,提升模型的应答精度,从而实现企业级的应用效果。同时,Graph+LLM 可以助力快速构建知识图谱,帮助企业更深入地理解和挖掘数据价值。
|
存储 JSON Linux
Linux C/C++开发上线项目(后端、音视频、存储、QT)
Linux C/C++开发上线项目(后端、音视频、存储、QT)
|
机器学习/深度学习 存储 计算机视觉
R语言中的偏最小二乘回归PLS-DA
R语言中的偏最小二乘回归PLS-DA
|
安全 前端开发 JavaScript
[dvwa] xss reflected
[dvwa] xss reflected
|
Java 中间件 大数据
Netty快速入门RPC项目
Netty快速入门RPC项目
148 0
Netty快速入门RPC项目
|
小程序 JavaScript 定位技术
微信小程序实现一键查询全国快递物流地图轨迹
通过本教程,用户可以输入快递单号,点击查询按钮,然后跳转到显示页面,在该页面上展示物流轨迹的地图信息。这个功能可以方便用户了解快递的实时位置和运输轨迹,提升用户体验和便利性。你可以根据实际需求进行扩展和优化,使其更适合你的小程序应用。
615 0
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
998 0
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
|
机器学习/深度学习
【25】模型参数量Params与计算量Flops的计算方法
【25】模型参数量Params与计算量Flops的计算方法
2013 0
【25】模型参数量Params与计算量Flops的计算方法
|
前端开发 JavaScript Java
ContentNegotiation内容协商机制(三)---在视图View上的应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC】(下)
ContentNegotiation内容协商机制(三)---在视图View上的应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC】(下)
ContentNegotiation内容协商机制(三)---在视图View上的应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC】(下)
|
机器学习/深度学习
贝叶斯公式
贝叶斯公式
403 0
贝叶斯公式