栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2529 A+B in Hogwarts

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2529 A+B in Hogwarts

#include <iostream>#include <string>#include <string.h>#include <stdio.h>#include <math.h>using namespace std;int prime[28]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29,31,  37, 41, 43, 47, 53, 59, 61, 67, 71,73, 79, 83, 89, 97,101,103, 107};int a[30],b[30];int c[30];int main(){    string ta,tb;    while(cin>>ta>>tb)    { int temp=0,j=0,k=0;        for(int i=ta.length()-1;i>=0;--i)        { if(ta[i]==',') {     a[k++]=temp;     temp=0;     j=0; } else {     temp+=(ta[i]-48)*pow(10.0, j*1.0);     ++j; }        }        a[k]=temp;        int lena=k+1;        temp=0;j=0;k=0;        for(int i=tb.length()-1;i>=0;--i)        { if(tb[i]==',') {     b[k++]=temp;     temp=0;     j=0; } else {     temp+=(tb[i]-48)*pow(10.0, j*1.0);     ++j; }        }        b[k]=temp;        int lenb=k+1;int carry=0;        int len=lena<lenb?lena:lenb;        memset(c,0,sizeof(c));        for(int i=0;i<len;++i)        { c[i]=(carry+a[i]+b[i])%prime[i]; carry=(carry+a[i]+b[i])/prime[i];        }        if(lena<lenb)        { for(int i=lena;i<lenb;++i)     if(carry)     {          c[i]=(carry+b[i])%prime[i];         carry=(carry+b[i])/prime[i];     }     else c[i]=b[i];        }        else        {     for(int i=lenb;i<lena;++i)     if(carry)     {          c[i]=(carry+a[i])%prime[i];         carry=(carry+a[i])/prime[i];     }     else c[i]=a[i];        }        len=lena>lenb?lena:lenb;        while(carry)        { c[len]=carry%prime[len]; carry=carry/prime[len]; ++len;        }        len--;        while(c[len]==0&&len>0)len--;        cout<<c[len];        for(int i=len-1;i>=0;--i) cout<<","<<c[i];        cout<<endl;    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号