首页 > 编程语言 >7.20 c++

7.20 c++

时间:2023-07-20 22:34:46浏览次数:41  
标签:lc 5005 int memset 7.20 c++ a1 b1

//高精度加法
#include <bits/stdc++.h>
using namespace std;
int main() {
char a1[5005], b1[5005];
int a[5005], b[5005], c[5005];
int la, lb, lc = 1, x=0, i;
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
cin>>a1>>b1;
la = strlen(a1);
lb = strlen(b1);
for(i=0; i<la; i++) a[la - i] = a1[i] - '0';
for(i=0; i<lb; i++) b[lb - i] = b1[i] - '0';
while(lc <= la || lc <= lb) {
c[lc] = a[lc] + b[lc] + x;
x = c[lc] / 10;
c[lc] %= 10;
lc++;
}
c[lc] = x;
if(c[lc] == 0) {
lc--;
}
for(int i=lc; i>=1; i--) {
cout<<c[i];
}
return 0;
}

 

 

//高精度减法
#include <bits/stdc++.h>
using namespace std;
int main() {
char a1[5005], b1[5005],l1[5005];
int a[5005], b[5005], c[5005];
int la, lb, lc, x=0, i;
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
cin>>a1>>b1;
la = strlen(a1);
lb = strlen(b1);
if(la<lb||(la==lb&&strcmp(a1,b1)<0)) {
strcpy(l1,a1);
strcpy(a1,b1);
strcpy(b1,l1);
cout<<"-";
}
for(i=0; i<la; i++) a[la - i] = a1[i] - '0';
for(i=0; i<lb; i++) b[lb - i] = b1[i] - '0';
while(lc <= la || lc <= lb) {
if(a[lc]<b[lc])
{
a[lc]+=10;
a[lc+1]--;
}
c[lc]=a[lc]-b[lc];
lc++;
}

c[lc] = x;
if(c[lc] == 0) {
lc--;
}
for(int i=lc; i>=1; i--) {
cout<<c[i];
}
return 0;
}

标签:lc,5005,int,memset,7.20,c++,a1,b1
From: https://www.cnblogs.com/jck211303/p/17569865.html

相关文章

  • c++ day 13
    今天来认识c++里面的迭代器C++迭代器(Iterator)是一种用于遍历容器(如数组、向量、链表等)中元素的抽象概念。它允许你通过简单的接口在容器中移动,并访问容器中的元素,而无需了解底层数据结构的细节。迭代器提供了一种统一的方式来访问不同类型容器的元素,使得代码更加灵活和可复用。......
  • 网课记录2023.7.20
    视频BV1q54y1q79w首先是今日教训,scanf使用时忘了取地址,折腾了半个多钟才发现scanf("%d",&a);然后文件还莫名其妙地丢失了,幸好之前上传了github下面是正式内容转义字符与\配合导致原本的意思改变目前经常使用的有\n表示换行\t表示水平制表符其余目前未在日常使用中见到ps:如果要在字......
  • 7.20 打卡
    cin.ignore作用它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。例如可以这么用,cin.ignore(1024,'\n'),通常把第一个参数设置得足够大,这样实际上是为了只有第二个参数'\n'起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入......
  • 7.20
    一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:012345678910M:10X98765432现......
  • 2023.7.20 周四:稀疏数组
    1importjava.sql.SQLOutput;2importjava.util.Arrays;3importjava.util.Scanner;4//稀疏数组5publicclasstest{6publicstaticvoidmain(String[]args){7//首先创建一个11*11的二维数组0:没有棋子1:白棋2:黑棋8int[][]a......
  • 7.20 做题记录
    由于剪切板被误删了,所以搬运比较合适的题解。[ARC150F]ConstantSumSubsequenceSolution总结:判定条件严格时,考虑扩充条件利用单调性和分治结构减小状态数CF1523GTryBookingSolution总结:区间不交可以考虑分治CF1464FMyBeautifulMadnessSolution总结:集合到......
  • C++Const变量的存储位置
    const变量/对象的存储位置const局部变量const局部基础变量和自定义变量都存储在栈上structdiy_class{inta;intb;diy_class(inta,intb):a(a),b(b){}};intmain(){intb=1;//这个肯定在栈上constinta=10;//比较ab两个变......
  • C++架构师 课程目录
    C++架构师课程目录实现指南规划流程在实现"C++架构师课程目录"之前,我们需要先规划整个流程。以下是实现该功能的步骤:步骤描述1.创建课程目录类创建一个C++类来表示课程目录,并定义相关的成员变量和方法。2.添加课程实现向课程目录中添加课程的功能。3.删除课......
  • 7.20 类 学习笔记
    7.20学习笔记类的复用:可以通过创建多个对象来使用同一个类,避免重复编写相似的代码。继承:子类可以继承父类的属性和方法,从而实现代码的重用和扩展性。把类赋值给一个真正的实体,之后就具备其属性定义一个非model类采矿程序及架构学习泊松比:水平方向的变形/垂直方向变形......
  • C++ 模板编程技术解析
    一、函数模板函数模板实现通用函数,根据传递类型进行编译时实参推导:template<typenameT>Tadd(Ta,Tb){returna+b;}intmain(){intx=1,y=2;doublem=1.5,n=2.5;intz=add(x,y);doublep=add(m,n);return0;}这里te......