zoukankan      html  css  js  c++  java
  • 高精度模板(各个)

    加法

    // luogu-judger-enable-o2
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	char a1[1000],b1[1000];
    	int a[1000]= {0},b[1000]= {0},c[1000]= {0},la,lb,lc,i,x;
    	cin>>a1>>b1;
    	la=strlen(a1);
    	lb=strlen(b1);
    	for(i=0; i<=la-1; i++) a[la-i]=a1[i]-48;
    	for(i=0; i<=lb-1; i++) b[lb-i]=b1[i]-48;
    	lc=1,x=0;
    	while(lc<=la||lc<=lb) c[lc]=a[lc]+b[lc]+x,x=c[lc]/10,c[lc]%=10,lc++;
    	c[lc]=x;
    	if(c[lc]==0) lc--;
    	for(i=lc; i>=1; i--) cout<<c[i];
    	cout<<endl;
    	return 0;
    }
    //A+B problem
    

    乘法

    // luogu-judger-enable-o2
    #include<bits/stdc++.h>
    using namespace std;
    char a1[50001],b1[50001];
    int a[50001],b[50001],i,x,len,j,c[50001];
    int main ()
    {
        cin >>a1 >>b1;
        a[0]=strlen(a1);b[0]=strlen(b1);
        for (i=1;i<=a[0];++i)a[i]=a1[a[0]-i]-'0';
        for (i=1;i<=b[0];++i)b[i]=b1[b[0]-i]-'0';
        for (i=1;i<=a[0];++i)for (j=1;j<=b[0];++j)c[i+j-1]+=a[i]*b[j];
        len=a[0]+b[0];
        for (i=1;i<len;++i)if (c[i]>9){c[i+1]+=c[i]/10;c[i]%=10;}
        while (c[len]==0&&len>1)len--;
        for (i=len;i>=1;--i) cout<<c[i];
        return 0;
    }
    
  • 相关阅读:
    gentoo Wireless Configuration
    Gentoo: Chrome
    Gentoo: user's permission
    参考
    GithubPages上部署hexo
    hexo 个人博客搭建
    服务器修改用户名和密码
    CentOS 服务器搭建 mediawiki
    mysql 修复命令日志
    个体如何采用敏捷的工作方式
  • 原文地址:https://www.cnblogs.com/zhnzh/p/13393613.html
Copyright © 2011-2022 走看看