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

    大数乘法,注意注释部分:

     1 #include<stdio.h>
     2 
     3 void multiple(char a[],char b[],char c[]){
     4     int temp,in=0,lenA=0,lenB=0,index,start;
     5     while(a[++lenA]!='');//求字符数组的最高位,以方便做乘法 ,如果lenA++,则下面对应的不是lenA-1,而是lenA-2 
     6     while(b[++lenB]!='');
     7     start = lenA+lenB-1;
     8     for(int i=lenA-1;i>=0;i--){
     9         index=start--;      //做乘法时需要往前移位 
    10         for(int j=lenB-1;j>=0;j--){
    11 //            printf("a[%d]=%c b[%d]=%c
    ",i,a[i],j,b[j]);
    12             temp = c[index]-'0'+(a[i]-'0')*(b[j]-'0')+in;
    13             c[index--]=temp%10+'0';
    14             in = temp/10;
    15         }
    16         c[index]=in+'0';   //最高位需要保留 
    17     }
    18 } 
    19 
    20 int main(){
    21     char a[]="123567890";
    22     char b[]="123567890";
    23     char c[sizeof(a)+sizeof(b)-1]; 
    24     for(int i=0;i<sizeof(c);i++)
    25         c[i]='0';
    26     c[sizeof(c)-1]='';
    27     multiple(a,b,c);
    28     if(c[0]!='0')
    29     printf("%c",c[0]);
    30     for(int i=1;c[i]!='';i++){
    31         printf("%c",c[i]);
    32     }
    33 } 
  • 相关阅读:
    2014年之新年新愿
    C#解析Xml的Dom和Sax方式性能分析
    WCF协议与绑定
    使用SqlServer数据批量插入
    跨站脚本攻击XSS
    疯狂的JSONP
    SQLiteOpenHelper
    Android常用的UI布局
    Android用户界面
    ListView
  • 原文地址:https://www.cnblogs.com/hoojjack/p/4768015.html
Copyright © 2011-2022 走看看