1001. x+y 1002. x+y+z etiger.vip 解析与答案
创始人
2024-05-24 09:24:44
0

目录

1001题

题目描述

输入输出格式

输入格式

输出格式

输入输出样例

输入样例#1:

输出样例#1:

头文件和数组等初始定义

第一个函数——converts

第二个函数——add

第三个函数——print

 主函数部分

完整代码 

1002题

题目描述

输入输出格式

输入格式

输出格式

输入输出样例

1002题完整代码


1001题

题目描述

输入两行,正整数x和y,输出x+y的值

注意:x,y<=10^200

输入输出格式

输入格式

输入文件名xplusy.in 输入两行正整数

输出格式

输出文件名xplusy.out 输出一个正整数

输入输出样例

输入样例#1:

10000000000000000000000
99999999999999999999999

输出样例#1:

109999999999999999999999

需要注意的是这里的x和y最高都可以达到10的200次方 很明显unsigned long long 完全不够用 毕竟已经是超高精度了

所以 我们就要用我们的究极大招——用数组储存数

这里的话要先定义头文件和数组等

头文件和数组等初始定义

#include
#define SIZE 209 
using namespace std;
int x[SIZE],y[SIZE];

所以 我们需要做三个函数

第一个函数——converts

void converts(int *a,string s){int i,len=s.size();for(i=0;i

第二个函数——add

我们进行的是a+=b的操作

但是注意 这里因为是数组 要逐位相加并进位

void add(){//a+=b//逐位相加for(int i=0;i=10){//进位 x[i+1]++;x[i]-=10;}}
}

第三个函数——print

这个的话其实有没有无所谓 如果这道题要输出多个数的话 建议还是要单独有一个

void print(){int i;for(i=SIZE-1;i>0;i--) if(x[i]>0) break;for(;i>=0;i--) cout<

 主函数部分

//主函数部分
int main(){//freopen("xplusy.in","r",stdin); 测试的时候注释掉 等提交时再去掉//freopen("xplusy.out","w",stdout); 测试的时候注释掉 等提交时再去掉string s1,s2;cin>>s1>>s2;converts(x,s1);converts(y,s2);add();print();return 0;
}

完整代码 

#include
#define SIZE 209 
using namespace std;
int x[SIZE],y[SIZE];
void converts(int *a,string s){int i,len=s.size();for(i=0;i=10){//进位 x[i+1]++;x[i]-=10;}}
}
void print(){int i;for(i=SIZE-1;i>0;i--) if(x[i]>0) break;for(;i>=0;i--) cout<>s1>>s2;converts(x,s1);converts(y,s2);add();print();return 0;
}

没账号的小盆友看这里

#include
#define SIZE 209 
using namespace std;
int x[SIZE],y[SIZE];
void converts(int *a,string s){
    int i,len=s.size();
    for(i=0;i     for(;i }
void add(){//a+=b
    //逐位相加
    for(int i=0;i
        x[i]=x[i]+y[i];
        if(x[i]>=10){//进位 
            x[i+1]++;
            x[i]-=10;
    }
    }
}
void print(){
    int i;
    for(i=SIZE-1;i>0;i--) if(x[i]>0) break;
    for(;i>=0;i--) cout< }
int main(){
    freopen("xplusy.in","r",stdin);
    freopen("xplusy.out","w",stdout);
    string s1,s2;
    cin>>s1>>s2;
    converts(x,s1);
    converts(y,s2);
    add();
    print();
    return 0;

https://www.etiger.vip/https://www.etiger.vip/ 点击直接提交

1002题

题目描述

输入三行,正整数x,y和z,输出x+y+z的值

注意:x,y,z<=10500

输入输出格式

输入格式

输入文件plus.in 三行正整数

输出格式

输出文件plus.out 一个正整数

输入输出样例

输入样例#1:

10000000000000000000000
99999999999999999999999
1

输出样例#1:

110000000000000000000000

1002题主题思路与1001相同

只是多了一个加数

所以......

直接上代码!

1002题完整代码

#include
using namespace std;
typedef long long ll;
void convert(int *a,string s,int size=200009){int i,len=s.size();for(i=0;i=10) a[i+1]++,a[i]-=10;
}
void add(int *a,int b,int size=200009){for(int i=0;i=10){a[i]-=10,a[i+1]++;}}
}
void print(int *a,int size=200009){int i;for(i=size;i>0;i--) if(a[i]!=0) break;for(;i>=0;i--) cout<>a>>b>>c;convert(x,a);convert(y,b);convert(z,c);add(x,y);add(x,z);print(x);return 0;
}

没账号的小朋友看这里

#include
using namespace std;
typedef long long ll;
void convert(int *a,string s,int size=200009){
    int i,len=s.size();for(i=0;i     for(;i }
void add(int *a,int *b,int size=200009){
    for(int i=0;i=10) a[i+1]++,a[i]-=10;
}
void add(int *a,int b,int size=200009){
    for(int i=0;i
        a[i]+=(b%10);
        b/=10;
        if(a[i]>=10){
            a[i]-=10,a[i+1]++;
        }
    }
}
void print(int *a,int size=200009){
    int i;for(i=size;i>0;i--) if(a[i]!=0) break;
    for(;i>=0;i--) cout< }
int x[2000009],y[2000009],z[2000009];
int main(){
    string a,b,c;
    cin>>a>>b>>c;
    convert(x,a);
    convert(y,b);
    convert(z,c);
    add(x,y);
    add(x,z);
    print(x);
    return 0;
}

以上就是本期所有内容了 谢谢

希望各位大佬们点个赞👍吧!!!求求啦~~~
关注+点赞超过100个立马更新哦!
版权声明:本文为CSDN博主「ian20120124_」的原创文章,如需转载,请通知CSDN博主「ian20120124_」。
————————————————————————————————
————————————————
————————————————

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...