zoukankan      html  css  js  c++  java
  • 高精度模板

     1 //高精度预处理
     2 scanf("%s",s);
     3 n=strlen(s);
     4 for(i=1;i<=n;i++)   //字符串处理
     5 a[n-i+1]=s[i-1]-48;
     6 a[0]=n;   //a[0]存储第一个数的长度
     7 scanf("%s",s);
     8     n=strlen(s);
     9     for(i=1;i<=n;i++)
    10         b[n-i+1]=s[i-1]-48;
    11     b[0]=n;   //b[0]存储第二个数的长度
     1 //高精度加法
     2 void plus(int *a,int *b)
     3 {
     4     int i,l;
     5 //    memset(c,0,sizeof(c));
     6     if (a[0]>b[0]) l=a[0]; else l=b[0];
     7     for(i=1;i<=l;i++)
     8     {
     9         c[i]=c[i]+a[i]+b[i];
    10         if (c[i]>=10) 
    11         {
    12             c[i]-=10;
    13             c[i+1]++;
    14         }
    15     }
    16     if(c[l+1]>0) l++;
    17     c[0]=l;
    18 }
     1 高精度减法
     2 1、调用方法:
     3 a0=a[n];
     4 b0=b[n];
     5 if((a[0]>b[0])||((a[0]=b[0])&&(a0>b0)))
     6     minus(a,b);
     7     else {printf("-");minus(b,a);}
     8 2、函数
     9 void minus(int *a,int *b)
    10 {
    11     int l,i;
    12     if(a[0]>b[0])l=a[0];else l=b[0];
    13     memset(c,0,sizeof(c));
    14     for(i=1;i<=l;i++)
    15     {
    16         c[i]+=a[i]-b[i];
    17         if(c[i]<0)
    18         {
    19             c[i]+=10;
    20             c[i+1]-=1;
    21         }
    22     }
    23     while(l>1&&c[l]==0)l--;
    24     c[0]=l;
    25 }
     1 高精度乘法
     2 void multiply(long q)
     3 {
     4     int i,l;
     5     l=a[0];
     6     for(i=1;i<=a[0];i++)
     7     {
     8         b[i]+=a[i]*q;
     9         b[i+1]+=(a[i]*q)/10;
    10         b[i]%=10;
    11     }
    12     l++;
    13     while(b[l]>=10)
    14     {
    15         b[l+1]=b[l]/10;
    16         b[l]%=10;
    17         l++;
    18     }
    19     while(l>1&&b[l]==0) l--;
    20     b[0]=l;
    21 }

    需要注意的是数组的初始化

  • 相关阅读:
    规矩与管理
    信息系统叫设施比叫工具更贴近本义
    让ansbile和docker愉快的在一起
    elasearch基础教程
    markdown语法
    python 实用pickle序列化
    python 解析配置文件
    ansible状态管理
    haproxy官方配置文档地址
    ansible操作模块相关
  • 原文地址:https://www.cnblogs.com/quantumplan/p/3071156.html
Copyright © 2011-2022 走看看