zoukankan      html  css  js  c++  java
  • A+B Problems

    这是这个脑子里只有初音未来的人的第一篇博客

    他还并不强,但是他还是选择了写博客。

    因为,黑夜漫漫必有光明。

    正文

    原题:https://www.luogu.org/problemnew/show/P1601

    经典模板高精度

    以下为代码

    /* 
    高精度,基础类型,也是必学的模板 
    核心思想在于用数组存储每一位,然后模拟竖式计算 
    */ 
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int a1[100000],b1[100000],c[100000];
        char a[100000],b[100000];
    int main(){
    
        scanf("%s",&a);
        scanf("%s",&b);
            int a3=strlen(a);
            for(int i=1;i<=a3;++i)
                a1[i]=int(a[a3-i]-'0');//倒序存储,不然会出现奇奇怪怪的逻辑错误 
                int b3=strlen(b);
            for(int i=1;i<=b3;++i)
            b1[i]=int(b[b3-i]-'0');
            int longg=max(a3,b3);
            for(int i = 1;i <= longg;i++){
                c[i]+=a1[i]+b1[i];//这是模拟竖式 
                if(c[i]>=10)
                {
                    c[i+1]=c[i+1]+c[i]/10;//处理进位 
                    c[i]%=10;
                }
            }
            longg++;//不写的话会有很奇怪的错误,但我也不会知到为什么 
            while(!c[longg]) longg--;//处理前导零 
            if(longg<=0)
            cout<<0;//解决答案为零时的问题,在洛谷,第四个点就需要这行 
            for(int i=longg;i>=1;--i)//倒着存怎么能不倒着输出呢 
            cout<<c[i];
            
            return 0;//关键不忘 
        
    } 
  • 相关阅读:
    入门篇:Ubuntu用apache做web服务器
    Linux上vi(vim)编辑器使用教程
    vim打开文档和多文档编辑
    vim常用命令
    进行有效编辑的七种习惯
    Ubuntu Nginx 开机自启动
    UBUNTU SERVER 12.04搭建PHP环境
    ubuntu下安装Apache+PHP+Mysql
    Ubuntu 12.04下LAMP安装配置
    data warehouse 1.0 vs 2.0
  • 原文地址:https://www.cnblogs.com/For-Miku/p/10466247.html
Copyright © 2011-2022 走看看