POJ 1503 Integer Inquiry

來源:互聯網
上載者:User

標籤:高精度

高精度加法。水。


給一長串的數字,加起來就好。


#include<cstdio>#include<cstring>#include<string>#include<queue>#include<algorithm>#include<map>#include<stack>#include<iostream>#include<list>#include<set>#include<cmath>#define INF 0x7fffffff#define eps 1e-6#define LL long long#define CLRi for(int i=0;i<n;i++)#define CLRj for(int j=0;j<n;j++)#define CLRk for(int k=0;k<n;k++)#define debug puts("==fuck==");#define acfun std::ios::sync_with_stdio(false)#define Nmax 1001#define Mmax 1001*1001using namespace std;char s1[1001],s2[1001];void Add(){    stack<int>a;    stack<int>b;    stack<int>out;    for(int i=0; s1[i]!='\0'; i++)        a.push(s1[i]-'0');    for(int i=0; s2[i]!='\0'; i++)        b.push(s2[i]-'0');    int na,nb,c=0;    while(!a.empty()||!b.empty())    {        if(!a.empty())        {            na=a.top();            a.pop();        }        else            na=0;        if(!b.empty())        {            nb=b.top();            b.pop();        }        else            nb=0;        c+=na+nb;        out.push(c%10);        c/=10;    }    while(c)    {        out.push(c%10);        c/=10;    }    int k=0;    while(!out.empty())    {        int tmp=out.top();        out.pop();//        printf("%d",tmp);        s1[k++]=tmp+'0';    }    s1[k]='\0';}int main(){    s1[0]='0';s1[1]='\0';    while(scanf("%s",s2)!=EOF)    {        if(strcmp(s2,"0")==0)break;        Add();    }    puts(s1);}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.