zoukankan      html  css  js  c++  java
  • 大数乘法的方法。。。。

    这几天一直在做高精度的题目  乘法我也是直接模拟,总觉的我的程序有些地方不必要,今天看到一个好的代码 ,贴上来

    我的方法

    View Code
     1 void mu(int c[],int d[], int e[])
     2 { 
     3     void print();
     4     int i ,j, k ,t ; 
     5     for (i =0 ;i < strle(c) ;i ++)
     6     {
     7         int s = 0 ;
     8         for (j = 0 ; j < strle(d) ;j++)
     9         {
    10             t = c[i]*d[j] +s +e[i+j] ;
    11             s = t / 10 ;
    12             e[i+j] = t % 10 ;
    13         }
    14         for (j = i+j  ; j< 550 ; j++)
    15         {
    16             t = e[j] + s;
    17             s = t /10 ;
    18             e[j] = t %10 ;
    19         }
    20 
    21     }

    她的做法:http://sumile.blog.hexun.com/62509182_d.html

    View Code
     1 void multiply(char* a,char* b,char* c)
     2 {
     3     int i,j,ca,cb,*s;
     4     ca=strlen(a);
     5     cb=strlen(b);
     6     s=(int*)malloc(sizeof(int)*(ca+cb));
     7     for (i=0;i<ca+cb;i++)
     8         s[i]=0;
     9     for (i=0;i<ca;i++)
    10         for (j=0;j<cb;j++)
    11             s[i+j+1]+=(a[i]-'0')*(b[j]-'0');
    12     for (i=ca+cb-1;i>=0;i--)
    13         if (s[i]>=10)
    14         {
    15             s[i-1]+=s[i]/10;
    16             s[i]%=10;
    17         }
    18     i=0;
    19     while (s[i]==0)
    20         i++;
    21        for (j=0;i<ca+cb;i++,j++)
    22            c[j]=s[i]+'0';
    23     c[j]='\0';
    24     free(s);
    25 }
  • 相关阅读:
    Vuejs --01 起步
    ajax利用FormData异步文件提交
    格式化JSON数据
    获取url中的参数
    xampp配置多端口访问
    自动识别移动端还是PC端
    一些常见的shell命令和git命令
    网站性能优化之减少HTTP请求
    ajax学习笔记
    canvas随笔
  • 原文地址:https://www.cnblogs.com/zyue/p/2878931.html
Copyright © 2011-2022 走看看