online_judge_1016

来源:互联网 发布:农村淘宝服务站利润表 编辑:程序博客网 时间:2024/05/16 05:48
#include <iostream>#include <string>using namespace std;const int N = 26;int prime[N];bool mark[121];void getPrime(){    int i,j;    for(i=1; i<121; ++i)        mark[i] = false;    for(i=2; i<=11; ++i)    {        for(j=2*i; j<=121; j+=i)        {            mark[j] = true;        }    }    j=0;    for(i=2; i<121; ++i)    {        if(mark[i] == false)            prime[j++] = i;        if(j == N)            break;    }}int main(){    string sa,sb;    int a[N],b[N],c[N];    int i,j,k1,k2;    int tt,t;    int lena,lenb;    int value;    getPrime();    while(cin>>sa>>sb)    {        if(sa == "0" && sb == "0")            break;        for(i=0; i<N; ++i)            a[i] = b[i] = c[i] = 0;        lena = sa.size();        lenb = sb.size();        k1 = 0;        for(i=0; i<lena; ++i)        {            if(sa[i] == ',')            {                k1++;                continue;            }            t = sa[i] - '0';            a[k1] = a[k1]*10 + t;        }        k2 = 0;        for(i=0; i<lenb; ++i)        {            if(sb[i] == ',')            {                k2++;                continue;            }            t = sb[i] - '0';            b[k2] = b[k2]*10 + t;        }        t = 0;        tt = 0;        value = 0;        //i>=0&&j>=0这个&&十分重要,之前就是因为用的逗号,导致出错都不知道怎么回事        for(i=k1,j=k2; i>=0&&j>=0; --i,--j)        {            c[tt++] = (a[i]+b[j]+value)%prime[t];            value = (a[i]+b[j]+value)/prime[t];            ++t;        }        while(j>=0)        {            c[tt++] = (b[j]+value)%prime[t];            value = (b[j]+value)/prime[t];            ++t;            --j;        }        while(i>=0)        {            c[tt++] = (a[i]+value)%prime[t];            value = (a[i]+value)/prime[t];            ++t;            --i;        }        if(value > 0)            c[tt++] = value;        for(i=tt-1; i>=0; --i)        {            if(i == tt-1)                cout<<c[i];            else                cout<<","<<c[i];        }        cout<<endl;    }    return 0;}


再次想起一句话,,细节决定成败。因为小语法点的疏忽,导致我耗费了将近一个小时!

0 0
原创粉丝点击