大整数乘法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;

}

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 怎样快速在线将pdf文件转换成word

    怎样快速在线将pdf文件转换成word免费pdf转word在线转换器在办公环境下如何将PDF转换成Word,是不少上班族普遍需要了解的问题之一。面对上百份需要处理的文档,其实否不用安装专业的PDF转Word转换器,借助免费PDF转Word在线转换器就能轻松帮你搞定PDF转Word问题。pdf在线转换成wordhttp://app.xunjiepdf.com   pdf word在线转换器最新发布的迅捷免费pdf转word

  • LSTM模型搭建_LSTM神经网络

    LSTM模型搭建_LSTM神经网络defLSTM_Classifier(self,train,trainLabel,test,testLabel,val_test,val_label,new_test=None):train,test=np.array(train),np.array(test)train,test=train.reshape(train.shape[0],1,train.shape[1]),test.reshape(test.shape[0],1,tes…

  • Java文件读写

    Java文件读写1.%g用于输出科学计数法2.用printf输出换行除了’\n’,还可以用’%n’3.File类的几个构造方法:1)File(StringdirectoryPath)2)File(StringdirectoryPath,Stringfilename)3)File(FiledirObj,Stringfilename)4)File(URIuri)注意,这里的对象指的可能是一个…

  • MySQL索引的优缺点

    MySQL索引的优缺点一、什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。例如有三张表分别是t1、t2、t3,每个表都有字段a1、a2、…

  • TOF相机(Time of Fight Camera)(维基百科全翻译版)「建议收藏」

    TOF相机(Time of Fight Camera)(维基百科全翻译版)「建议收藏」关于TOF相机,维基百科里有一个较好的概述,鉴于很多同学无法查看维基百科,所以此篇的内容为维基百科的翻译版。并加上一些个人的注解。

  • java voliate_Java之voliate, synchronized, AtomicInteger使用

    java voliate_Java之voliate, synchronized, AtomicInteger使用1:voliate用在多线程,同步变量。线程为了提高效率,将成员变量(如A)某拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm,它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A),但是不能用其来进行多线程同步控制publicclassCounter…

发表回复

您的电子邮箱地址不会被公开。

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