1004 大数
发布时间:2020-12-14 04:13:46 所属栏目:大数据 来源:网络整理
导读:大数加法是抄的模板,要注意的是,m如果小于3,则肯定不行,因为最少的是三角形。m的取值范围是3=m=n+p。 #includeiostream#includestringusing namespace std;string n,m,p;string Sum(string s1,string s2){ if(s1.length()s2.length()){ string temp=s1;
大数加法是抄的模板,要注意的是,m如果小于3,则肯定不行,因为最少的是三角形。m的取值范围是3<=m<=n+p。 #include<iostream> #include<string> using namespace std; string n,m,p; string Sum(string s1,string s2){ if(s1.length()<s2.length()){ string temp=s1; s1=s2; s2=temp; } for(int n1=s1.length()-1,n2=s2.length()-1;n1>=0;n1--,n2--){ s1[n1]=char(s1[n1]+(n2>=0?s2[n2]-'0':0)); if(s1[n1]-'0'>=10){ s1[n1]=char((s1[n1]-'0')%10+'0'); if(n1) s1[n1-1]++; else s1='1'+s1; } } return s1; } int main(){ while(cin>>n>>m>>p){ int len_n=n.length(); int len_m=m.length(); if(len_m==1&&m<"3") printf("NOn"); else if(len_m<len_n||len_m==len_n&&m<n) printf("YESn"); else{ string temp=Sum(n,p); int len_t=temp.length(); if(len_t>len_m||(len_t==len_m&&(temp>m||temp==m))) printf("YESn"); else printf("NOn"); } } //system("pause"); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |