大数相加,这个写的相当给力,可以模仿
来源:互联网 发布:tensorflow 快速入门 编辑:程序博客网 时间:2024/06/10 18:32
#include<iostream>
using namespace std;
#include<vector>//要用到vector
#include<string>//要用到string
#include<algorithm>//要用到reverse
int main(int argc,char *argv[])
{
string sa,sb,t;//sa表示第一个加数。sb表示第二个加数。t是临时变量,即如果sa.size()<sb.size(),交换sa和sb
vector<int> v;//存贮每位的和
int a,b,sum;//a表示sa的某一位,b表示sb的某一位,sum表示它们的和
int flag;//进位标志
while(cin>>sa>>sb)
{
flag=0;
v.clear();//每次清除
sum=0;
reverse(sa.begin(),sa.end());
reverse(sb.begin(),sb.end());
//如果sb的长度大于sa,则交换
if(sa.size()<sb.size())
{
t=sa;
sa=sb;
sb=t;
}
int i;
for(i=0;i<sa.size();i++)
{
if(sa[i]=='0')
{
a=0;
}
else if(sa[i]=='1')
{
a=1;
}
else if(sa[i]=='2')
{
a=2;
}
else if(sa[i]=='3')
{
a=3;
}
else if(sa[i]=='4')
{
a=4;
}
else if(sa[i]=='5')
{
a=5;
}
else if(sa[i]=='6')
{
a=6;
}
else if(sa[i]=='7')
{
a=7;
}
else if(sa[i]=='8')
{
a=8;
}
else if(sa[i]=='9')
{
a=9;
}
else if(sa[i]=='a')
{
a=10;
}
else if(sa[i]=='b')
{
a=11;
}
else if(sa[i]=='c')
{
a=12;
}
else if(sa[i]=='d')
{
a=13;
}
else if(sa[i]=='e')
{
a=14;
}
else if(sa[i]=='f')
{
a=15;
}
else if(sa[i]=='g')
{
a=16;
}
else if(sa[i]=='h')
{
a=17;
}
else if(sa[i]=='i')
{
a=18;
}
else if(sa[i]=='j')
{
a=19;
}
if(i>=sb.size())
{
b=0;
}
else
{
if(sb[i]=='0')
{
b=0;
}
else if(sb[i]=='1')
{
b=1;
}
else if(sb[i]=='2')
{
b=2;
}
else if(sb[i]=='3')
{
b=3;
}
else if(sb[i]=='4')
{
b=4;
}
else if(sb[i]=='5')
{
b=5;
}
else if(sb[i]=='6')
{
b=6;
}
else if(sb[i]=='7')
{
b=7;
}
else if(sb[i]=='8')
{
b=8;
}
else if(sb[i]=='9')
{
b=9;
}
else if(sb[i]=='a')
{
b=10;
}
else if(sb[i]=='b')
{
b=11;
}
else if(sb[i]=='c')
{
b=12;
}
else if(sb[i]=='d')
{
b=13;
}
else if(sb[i]=='e')
{
b=14;
}
else if(sb[i]=='f')
{
b=15;
}
else if(sb[i]=='g')
{
b=16;
}
else if(sb[i]=='h')
{
b=17;
}
else if(sb[i]=='i')
{
b=18;
}
else if(sb[i]=='j')
{
b=19;
}
}
sum=a+b+flag;
if(sum>19)
{
flag=1;
sum=sum-20;
}
else
{
flag=0;
}
v.push_back(sum);
}
if(flag==1)
{
v.push_back(1);
}
for(i=v.size()-1;i>=0;i--)
{
if(v[i]<10)
{
cout<<v[i];
}
else if(v[i]==10)
{
cout<<'a';
}
else if(v[i]==11)
{
cout<<'b';
}
else if(v[i]==12)
{
cout<<'c';
}
else if(v[i]==13)
{
cout<<'d';
}
else if(v[i]==14)
{
cout<<'e';
}
else if(v[i]==15)
{
cout<<'f';
}
else if(v[i]==16)
{
cout<<'g';
}
else if(v[i]==17)
{
cout<<'h';
}
else if(v[i]==18)
{
cout<<'i';
}
else if(v[i]==19)
{
cout<<'j';
}
}
cout<<endl;
}
return 0;
}
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加的问题
- 大数的相加、相减
- 大数的相加
- 我的大数相加
- 相当给力的开发者证书生成,分享给大家
- ARM寄存器地址定义——#define rGPBCON (*(volatile unsigned *)0x56000010)
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- Get relative path
- 大数相加,这个写的相当给力,可以模仿
- oracle入门02
- cmake 学习笔记(三)
- 第8章_字符串与文本I/O_正则表达式练习
- ORACLE入门03
- 应用系统移植到ARM9开发板
- oracle入门04
- 裸机系列——DMA工作
- oracle入门05