1001. x+y 1002. x+y+z etiger.vip 解析与答案

news2024/10/5 18:29:14

目录

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<bits/stdc++.h>
#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<len;i++) a[i]=s[len-i-1]-'0';
	for(;i<SIZE;i++) a[i]=0; 
}

第二个函数——add

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

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

void add(){//a+=b
	//逐位相加
	for(int i=0;i<SIZE;i++){
		x[i]=x[i]+y[i];
		if(x[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<<x[i]; cout<<endl;
}

 主函数部分

//主函数部分
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<bits/stdc++.h>
#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<len;i++) a[i]=s[len-i-1]-'0';
	for(;i<SIZE;i++) a[i]=0; 
}
void add(){//a+=b
	//逐位相加
	for(int i=0;i<SIZE;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<<x[i]; cout<<endl;
}
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<bits/stdc++.h>
#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<len;i++) a[i]=s[len-i-1]-'0';
    for(;i<SIZE;i++) a[i]=0; 
}
void add(){//a+=b
    //逐位相加
    for(int i=0;i<SIZE;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<<x[i]; cout<<endl;
}
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<bits/stdc++.h>
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<len;i++) a[i]=s[len-i-1]-'0';
	for(;i<size;i++) a[i]=0;
}
void add(int *a,int *b,int size=200009){
	for(int i=0;i<size;i++) if((a[i]+=b[i])>=10) a[i+1]++,a[i]-=10;
}
void add(int *a,int b,int size=200009){
	for(int i=0;i<size or b;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<<a[i];
}
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;
}

没账号的小朋友看这里

#include<bits/stdc++.h>
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<len;i++) a[i]=s[len-i-1]-'0';
    for(;i<size;i++) a[i]=0;
}
void add(int *a,int *b,int size=200009){
    for(int i=0;i<size;i++) if((a[i]+=b[i])>=10) a[i+1]++,a[i]-=10;
}
void add(int *a,int b,int size=200009){
    for(int i=0;i<size or b;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<<a[i];
}
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_」。
————————————————————————————————
————————————————
————————————————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3快速入门【一】

Vue3快速入门一、Vue脚手架1.1、Vite简介1.2、创建项目二、更换Vue模板支持工具三、项目相关命令解析四、生命周期钩子函数五、ref方法的几种使用方式5.1、ref方法(操作基本类型数据)5.2、ref方法(操作复杂类型数据)5.3、ref方法获取标签六、reacttive方法和toRefs方法七、setu…

开发人员 ONLYOFFICE 文档 v7.3:API 与文档生成器更新

随着版本 7.3 新功能的发布&#xff0c;我们也对编辑器、插件以及文档生成器的 API 进行了更新。在下方了解更多详情。 增强的 WOPI 支持 从现在开始&#xff0c;您可在 WOPI 集成中使用二进制格式&#xff0c;如 doc、ppt 以及 xls。我们现已实现了相应方案&#xff0c;其中包…

ClickHouse 合并树表引擎 MergeTree 索引与数据存储方式

目录 1. 一级索引 1.1 稀疏索引 1.2 索引粒度 1.3 索引数据的生成规则 1.4 索引的查询过程 2. 二级索引 2.1 granularity 与 index_granularity 2.2 跳数索引的生成规则

阿里6面,成功唬住面试官拿了27K,软件测试面试也没有传说中那么难吧....

阿里的面试挺独特&#xff0c;每轮面试都没有 HR 约时间&#xff0c;一般是晚上 8 点左右面试官来一个电话&#xff0c;问是否能面试&#xff0c;能的话开始面&#xff0c;不能就约一个其它时间。 全程 6 面&#xff0c;前五面技术面&#xff0c;电话面试&#xff0c;最后一面…

KEITHLEY吉时利2410数字源表

产品概览 Keithley 2410 高压源表专为需要紧密耦合源和测量的测试应用而设计。Keithly 2410 提供精密电压和电流源以及测量功能。它既是高度稳定的直流电源&#xff0c;又是真正的仪器级 5-1/2 数字万用表。电源特性包括低噪声、精度和回读。万用表功能包括高重复性和低噪声。…

《真象还原》读书笔记——第三章 完善MBR(3.5 硬盘)

3.5 硬盘介绍 3.5.2 硬盘工作原理 柱面-磁头-扇区 磁道的编号从0 开始&#xff0c;相同编号的此道组成的管状区域就是柱面。 盘面和磁头一一对应&#xff0c;所以用磁头号表示盘面&#xff0c;磁头编号从上到下从0开始。 扇区编号与盘面和磁道不同&#xff0c;各磁道内的扇区都…

选择万德L2接口需要遵循什么原则?

万德L2接口是一种可以让程序拥有查询股票相关数据的应用查询编程接口&#xff0c;通过这个数据接口&#xff0c;可以直接调用相应的数据&#xff0c;而不用进行额外的编程工作&#xff0c;甚至不需要理解其中的工作机制&#xff0c;是十分方便快捷的一种数据接口。 但是市场上…

操作系统基础---多线程

文章目录操作系统基础---多线程1.为何引入线程程序并发的时空开销线程的设计思路线程的状态和线程控制块TCB2.线程与进程的比较3.线程的实现⭐1.内核支持线程KST2.用户级线程3.组合方式操作系统基础—多线程 1.为何引入线程 利用传统的进程概念和设计方法已经难以设计出适合于…

方向导数与梯度下降

文章目录方向角与方向余弦方向角方向余弦方向导数定义性质梯度下降梯度下降法&#xff08;Gradient descent&#xff09;是一个一阶最优化算法&#xff0c;通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值&#xff0c;必须向函数上当前点对应梯度&#xff08…

学习数据库第一天

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、数据库的开启和关闭二、数据库的登录 添加数据库以及表1.登录数据库2.查看数据库三 数据表前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#x…

spring cloud脚手架快速开发 微服务架构 JAVA敏捷开发框架源码

核心技术采用Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、RabbitMQ、FastDFS/MinIO、SkyWalking等主要框架和中间件。 私信了解更多&#xff01; 功能模块&#xff1a; 1、租户管理&#xff1a;运营人员管理所有的租户创建 2、工作台&#xff1a;普通用户…

支持分布式部署的主流方式 - Session 持久化到 Redis

1.为什么要将 Session 存储在 Redis 中如果我们不将 Session 存储在 MySQL 或者 Redis 中, 那么做出来的项目就只能支持单机部署, 不支持分布式部署. 因为之前我们只是将 Session 存储在当前电脑的内存里面. 当张三去登录的时候, 将 Session 信息存储在 A 服务器, 这个时候负载…

码上【call,apply,bind】的手写

一、call &#xff08;1&#xff09;官方用法 call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。 语法&#xff1a;function.call(要绑定的this值&#xff0c;参数&#xff0c;参数&#xff0c;…)。不一定这些参数都需要&#xff0c;这些参数都…

寿险业务系统异常处理方案

我们的系统使用的java语言开发&#xff0c;基于Spring框架搭建的业务中台&#xff0c;在讨论业务系统异常处理策略之前&#xff0c;先把java的异常机制进行简单说明。 一、Java的异常机制 1.Java异常分类 【Error】是系统错误或者编译错误&#xff0c;常见的虚拟机运行错误、…

2023,考个软考中级证书稳妥深圳入户,5月考试8月办入户

最新消息&#xff01;最新消息&#xff01;最新消息&#xff01; 2023年2月8日&#xff0c;深圳市发展和改革委员会深圳市公安局深圳市人力资源和社会保障局关于印发《深圳市积分入户办法》的最新通知↓ 来源《深圳市发展和改革委员会》 该积分入户将于2023年2月15日正式实施&…

C++与Lua交互实例 -- 矩阵的加减乘除(版本一)

C与Lua交互实例 – 矩阵的加减乘除&#xff08;版本一&#xff09; 关于lua中封装的类模板以及相关知识可参考以下链接&#xff1a; https://ufgnix0802.blog.csdn.net/article/details/128854786 https://ufgnix0802.blog.csdn.net/article/details/128827673 https://ufgnix0…

Python深度学习实战PyQt5窗口切换的堆叠布局示例详解

本文以堆叠窗口控件为例&#xff0c;详细介绍堆叠布局的界面设计和程序实现过程&#xff0c;通过案例带小白创建一个典型的堆叠布局多窗口切换程序软件项目中经常需要多种不同的图形界面&#xff0c;以适应不同的任务场景。选项卡控件&#xff08;QTackedWidget&#xff09;通过…

[Java 进阶] synchronized 与 ReentrantLock的区别

祝一切顺利~ 文章目录synchronized 与 ReentrantLock的区别synchronized 与 ReentrantLock的区别 1.ReentrantLock的锁是公平锁,synchronized是非公平锁.(公平锁是指当锁被释放时,由等待时间最长的线程获取锁.非公平锁是锁被释放时,所有线程不论等待时间长短,都一起去竞争) 2.…

小白系列Vite-Vue3-TypeScript:009-屏幕适配

上一篇我们介绍了ViteVue3TypeScript项目中mockjs的安装和配置。本篇我们来介绍屏幕适配方案&#xff0c;简单说来就是要最大程度上保证我们的界面在各种各样的终端设备上显示正常。通用的屏幕适配方案有两种&#xff1a;① 基于rem 适配&#xff08;推荐&#xff0c;也是本篇要…

线下沙龙|从VUCA到BANI,找到你的“第二曲线”

冷战之后&#xff0c;VUCA盛行&#xff0c;世界已复杂到无可言表&#xff1b;然而&#xff0c;我们正在拼命地理解和适应“VUCA时代”&#xff0c;却又被迷迷糊糊、跌跌撞撞地推进了“BANI时代”。 未来之路在何方&#xff1f;在脚下&#xff0c;却不知该如何去迈&#xff1f; …