zoukankan      html  css  js  c++  java
  • 两个大整数的乘法

    Problem Description

    计算两个大整数的乘积

    Input

    共2行,每行一个大整数

    Output

    共1行,表示两个大整数的乘积

    Sample Input

    112233445566778899
    100000000000000000

    Sample Output

    11223344556677889900000000000000000
     1 #include<stdio.h>
     2 #include<string.h>
     3 char str1[1000],str2[1000];
     4 int a1[1000],a2[1000],a3[1000],a4[100],b1,b2,b3;
     5 int main()
     6 {  
     7 int i,j,e,a=0,x,y=0,d=1;
     8 gets(str1);gets(str2);
     9 b1=strlen(str1);b2=strlen(str2);b3=b1+b2; 
    10   for(i=b1-1;i>=0;i--)
    11    a1[b1-1-i]=str1[i]-'0';
    12    x=str2[b2-1]-'0';
    13    for(i=0;i<=b1;i++)
    14     { e=a1[i]*x+a;
    15        a=e/10;
    16        a4[i]=e%10;} 
    17   for(j=b2-2;j>=0;j--)
    18   {e=a=0;
    19      x=str2[j]-'0';
    20    for(i=0;i<=b1;i++)
    21     { e=a1[i]*x+a;
    22        a=e/10;
    23        a3[i]=e%10;}
    24        e=a=0;
    25      for(i=d;i<=b1+d;i++)
    26     { e=a4[i]+a3[i-d]+a;
    27       a=e/10;
    28       a4[i]=e%10;
    29     }  
    30     d++;       
    31 }
    32    if(a4[b3]==0){
    33    for(i=b3-2;i>=0;i--)
    34  printf("%d",a4[i]);}
    35    else {
    36    for(i=b3-1;i>=0;i--)
    37  printf("%d",a4[i]);}
    38  printf("
    ");
    39  return 0;
    40 }
    View Code
  • 相关阅读:
    2021-4-20 日报博客
    2021-4-19 日报博客
    2021-4-17 周报博客
    java web
    java web
    java web
    java
    java
    周末总结8
    java web
  • 原文地址:https://www.cnblogs.com/gznb/p/11213716.html
Copyright © 2011-2022 走看看