大整数乘法C

大整数乘法C大整数乘法C语言实现希望能帮到你们#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#defineMAX210usingnamespacestd;intmain(intargc,charconst*argv[]){…

大家好,又见面了,我是你们的朋友全栈君。

大整数乘法C语言实现

希望能帮到你们

#include <iostream>
#include<cstdio>
#include<algorithm>
#include <cstring>
#define MAX 210
using namespace  std;
int main(int argc, char const *argv[])
{
    char a[MAX],b[MAX];
    int a1[MAX],b1[MAX],c[420];

    gets(a);//输入两个整数
    gets(b);
    memset(a1,0,sizeof(a1));
    memset(b1,0,sizeof(a1));
    memset(c,0,sizeof(c));
    int n1=strlen(a);
    int n2=strlen(b),j;
    j=0;
    for (int i=n1-1;i>=0;i--)
    {
        a1[j++]=a[i]-'0';//两个整数反向存储
    
    }
    j=0;
    for (int i=n2-1;i>=0;i--)
    {
        b1[j++]=b[i]-'0';
    }

    for (int i = 0; i < n1; i++)
    {
        for (int j = 0; j < n2; j++)
        {
            c[i+j]+=a1[i]*b1[j];//每位相乘存储
            
           
        }

    }
    for (int i = 0; i < 420; ++i)

    {
        if(c[i]>=10)//处理进位
        {
            int result=c[i]/10;
            c[i]=c[i]%10;
            c[i+1]+=result;
        }
    }
    bool panduan=false;
    for (int i = 419; i >=0; i--)

    {
        if(c[i]!=0)//倒着找到需要的输出的开始位置
        {
            panduan=true;
        }
        if(panduan)
            printf("%d",c[i] );

        /* code */
    }

    if(!panduan)
        printf("0" );//如果没有找到,说明计算结果是0,得单独处理一下


    return 0;

}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137222.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月5日 上午11:20
下一篇 2022年5月5日 上午11:20


相关推荐

  • DHCP协议 详解[通俗易懂]

    DHCP协议 详解[通俗易懂]原文地址:http://blog.csdn.net/windeal3203/article/details/50677166  DHCP:动态主机配置协议  TCP/IP协议想要运行正常的话,网络中的主机和路由器不可避免地需要配置一些信息(如接口的IP地址等)。有了这些配置信息主机/路由器才能提供/使用特定的网络服务。  主机信息的必要元素有:IP地址、子网掩码、DNS服务器IP地址

    2022年5月24日
    43
  • http请求报400报错

    http请求报400报错400是HTTP的状态码,主要有两种形式:1、badrequest意思是“错误的请求”;2、invalidhostname意思是“不存在的域名”。在ajax请求后台数据时有时会报HTTP400错误-请求无效(Badrequest);出现这个请求无效报错说明请求没有进入到后台服务里;1、确认发送的数据格式是否正确。调试查看你发送的数据格式是否正确或是否有乱码…

    2022年6月12日
    97
  • mysql raiserror_SQL Server 中 RAISERROR 的用法

    mysql raiserror_SQL Server 中 RAISERROR 的用法raiserror 是由单词 raiseerror 组成 raise 增加 提高 提升 raiserror 的作用 raiserror 是用于抛出一个错误 以下资料来源于 sqlserver200 的帮助 其语法如下 RAISERROR msg id msg str local variable severity state argument n

    2026年3月18日
    2
  • Intellij IDEA 最全实用快捷键整理(长期更新)[通俗易懂]

    Intellij IDEA 最全实用快捷键整理(长期更新)[通俗易懂]IntellijIDEA最全实用快捷键整理(长期更新)正文前:1.IDEA内存优化(秒开的快感!!)因机器本身的配置而配置:\IntelliJIDEA8\bin\idea.exe.vmoptions//(根据你的配置变大!!)——————————————Xms2048m-Xmx2048m-XX:MaxPermSize=512m…

    2022年5月12日
    80
  • Cursor整合Qt C++

    Cursor整合Qt C++

    2026年3月16日
    2
  • 文本分类算法研究与实现

    文本分类算法研究与实现总结了文本分类中的常用算法,包括8种传统算法:k临近、决策树、多层感知器、朴素贝叶斯(包括伯努利贝叶斯、高斯贝叶斯和多项式贝叶斯)、逻辑回归和支持向量机概念及其实现代码

    2022年5月22日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号