• 2024-09-1366. 加一
    题目链接66.加一思路简单模拟题题解链接官方题解关键点无时间复杂度\(O(1)\)空间复杂度\(O(1)\)代码实现:classSolution:defplusOne(self,digits:List[int])->List[int]:carry=1n=len(digits)foriin
  • 2024-09-12PTA 6-10 阶乘计算升级版(详讲)
    6-10阶乘计算升级版-基础编程题目集(pintia.cn)https://pintia.cn/problem-sets/14/exam/problems/type/6?problemSetProblemId=742&page=0首先这道题不能用我们之前学过的阶乘计算方法来解决,比如下面这段代码就无法通过全部的样例voidPrint_Factorial(constintN)
  • 2024-09-0667. 二进制求和
    67.二进制求和给你两个二进制字符串a和b,以二进制字符串的形式返回它们的和。示例1:输入:a=“11”,b=“1”输出:“100”示例2:输入:a=“1010”,b=“1011”输出:“10101”提示:1<=a.length,b.length<=104a和b仅由字符‘0’或‘1’组成字符
  • 2024-08-25两数相加 链表C++
    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。示例1:输入:l1=[2,4,3],l2=[5,
  • 2024-08-25[Javascript] How to do big integers sum
    /***Bigintegersum*Usingstringstorepresentbigintegers*@param{string}a*@param{string}b*@returns{string}*/functionbigIntSum(a,b){constmaxLength=Math.max(a.length,b.length);constaStr=a.padStart(maxLength,"0&
  • 2024-08-22火柴棍等式 ,但是数据范围有一点大……
    题目描述P1149给你\(n\)根火柴棍,你可以拼出多少个形如\(A+B=C\)的等式?等式中的\(A\)、\(B\)、\(C\)是用火柴棍拼出的整数(若该数非零,则最高位不能是\(0\))。用火柴棍拼数字\(0\sim9\)的拼法如图所示:注意:加号与等号各自需要两根火柴棍;如果\(A\neqB\),则\(A+B=C\)
  • 2024-08-18高精度减法与混合加法
    高精度减法bigNumbigSub(bigNum*a,bigNum*b){ bigNumc; for(inti=0;i<a->len||i<b->len;i++) { if(a->num[i]<b->num[i]) { a->num[i]+=10; a->num[i+1]-=1; } c.num[i]=a->num[i]-b->num[i];
  • 2024-08-17位运算
    位运算位运算一般用于直接进行整数加减乘除等基础运算效率更高,但是现在的C++编译器直接进行加减运算,并没有明显加快,但是理解实现逻辑是必要的。如果需要对很大的数进行运算,建议使用字符串进行运算。两数相加原码相加即可。voidBitAdd(inta,intb){//a+bwhi
  • 2024-07-28P2437 蜜蜂路线【递推+大数】
    蜜蜂路线题目背景无题目描述一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房mmm开始爬到蜂房
  • 2024-07-27力扣-415-字符串相加
    思路是模拟从低位到高位的按位相加,需要考虑进位publicStringaddStrings(Stringnum1,Stringnum2){intbitLen1=num1.length()-1,bitLen2=num2.length()-1;StringBuilderstringBuilder=newStringBuilder();intcarry=0;
  • 2024-07-26LeetCode 2.两数相加 java
    力扣链接2.两数相加-力扣(LeetCode)题目描述给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0
  • 2024-07-20
    今天:把作业e的13道题刚做完明天:写那38道编程题问题:#include<stdio.h>voidPrint_Factorial(constintN);intmain(){intN;scanf("%d",&N);Print_Factorial(N);return0;}voidPrint_Factorial(constintN){intn=N;if(n==0){printf("1")
  • 2024-06-21(PAT乙级刷题) 舍入
    题目:题解:#include<iostream>#include<string>usingnamespacestd;intmain(){ intn,d,com,cnt,minus,all,carry,point,p,need,have,i,t; strings; cin>>n>>d; while(n--){ cnt=minus=all=carry=point=p=ne
  • 2024-06-051123 舍入(测试点2,6,7,8)
    solution注意负号的取舍以及进位只有舍入后非零的负数才会输出负号可能有多位进位,用高精度加法测试点2,6:整数13188.000测试点7:多次进位1339.999910.000测试点8:舍入后全0的负值133-0.00000000010.000#include<iostream>#include<string>usi
  • 2024-05-27四进制加法(运算符重载)
    题目描述定义一个四进制的类,重定义“+”号实现四进制数的累加。输入第一行输入所需要的四进制数的个数第二行开始,依次输入四进制数输出所有输入四进制数累加的和//输入示例:313221输出示例:102AC代码:#include<iostream>#include<string>usingnamespacestd;
  • 2024-05-11Codeforces 1761D Carry Bit
    令\(c_i\)为第\(i\)位带来的进位的值,令\(c_{-1}=0\)。考虑如果知道了\(c_{i-1},c_i\)的值,\(a_i,b_i\)有多少种选法:\(c_{i-1}=0,c_i=0\),\((a_i,b_i)=(0,0),(0,1),(1,0)\)。\(c_{i-1}=1,c_i=1\),\((a_i,b_i)=(1,1),(0,1),(1,0)\)。
  • 2024-04-26lc2
    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。1#Definitionforsingly-linkedlist
  • 2024-04-11__int1024
    __int1024手搓结构体整合高精(其实还可以更大改下数组就行)Elaina'scode#include<iostream>#include<string.h>#include<stdio.h>#include<cstdlib>#include<algorithm>#definebase100000#definecut5#defineL1024usingnamespacestd;st
  • 2024-04-11两个纯数字字符串相加Python实现版
    """两个字符串相加模拟两个大整数相加,但是不能直接相加,采用每一位相加的方式"""defadd_large_numbers(num1,num2):#反转字符串,方便从低位开始相加num1=num1[::-1]num2=num2[::-1]#初始化结果列表和进位result=[]carry=0#
  • 2024-04-01二进制求和 python
    ‘’’计算两个二进制字符串的和输入:1111110输出:10101参与计算的二进制字符串长度可以不同,这样为计算带来麻烦,所以,首先要补齐那个较短的字符串。如果较短字符串长度比长字符串小3,就在较短字符串前面补3个0.计算的过程,可以模拟手动计算的过程,从右向左逐位计算
  • 2024-03-30nand2tetris_ALU
    这一节,我们将尝试构建CPU中的ALU单元。明明上一节才开始学习基本逻辑门,这一节就实现ALU,当时的我是吃惊的,但确实仅用逻辑门就可以完成。在开始逐步实现之前,先补充一些前置知识前置知识HDL上一节构建选择器时,得到了一个较长的函数式,那么如何验证函数表达式呢。课程老师提供了用
  • 2024-03-272024.3.27复试记录
    1.algorithm实现a+b字符串的加法注意事项对进位的控制intcarry=0i=a.size()-1;j=b.size()-1;while(i>=0;j>=0){stringres="";num=carry+a[i]-'0'+b[i]-'0';//-'0'是为了变为charres+=num%10+'0';carry=num/10;//若大于10,则carry=1
  • 2024-03-18luoguP3330 [ZJOI2011] 看电影--组合数学--高精度
    \(luoguP3330\)[ZJOI2011]看电影废了老命想题解$$luogu$$$$HZOI$$题意到了难得的假期,小白班上组织大家去看电影。但由于假期里看电影的人太多,很难做到让全班看上同一场电影。最后大家在一个偏僻的小胡同里找到了一家电影院,但这家电影院分配座位的方式很特殊,具体方式如
  • 2024-03-14数据结构算法系列----高精度加法(大数相加)、处理前导零
    目录一、为什么要使用高精度加法二、处理前导零1、为什么要处理前导零2、处理前导零的代码三、处理大数相加四、完整代码即例题一、为什么要使用高精度加法  当处理远大于longlong数据范围的数时,通常会将这些大数表示为字符串,然后通过字符串的方式进行加减乘除
  • 2024-03-12使用string实现俩个长整型数据相加
    `include<bits/stdc++.h>usingnamespacestd;stringa,b;stringadd(stringx,stringy){if(x.empty())returny;if(y.empty())returnx;if(y.size()>x.size())swap(y,x);inttail=x.size()-y.size();intcarry=0,tmp=0;for(inti=x.size()-1;i>=0;