carry:进位数,如果大于等于n加到下一位

bit:结果每一位的数,应该考虑到两个相加再加上carry

过程:倒着遍历相加的两数,用bit记录两数对应的位上的数字相加+carry的值

分两种情况讨论:

(1)bit>=n:保留个位(carry-n)并加到结果对应的位置,carry置1

(2)bit<n:  直接把bit加到结果对应的位置,carry置0

考虑到两个数可能不一样长:

假设数1长一点,倒着遍历数1剩下的数,用bit记录数1对应的位上的数字+carry的值,同样将bit和n比较大小

考虑到两个数加完后carry=1,还有一个进位,结果加上1

//n进制数相加int carry=0;
int bit;
int 数1,数2;
point1指向数1的最低位,point2指向数2的最低位
res;//结果
while(point1不到最高位&&point2不到最高位)
{bit=point1->val +point2->val+carry;if(bit>=n){carry=1;结果最后加入数(bit-n);}else{carry=0;结果最后加入数(bit);}
}
while(point1不到最高位)
{bit= point1->val+carry;if(bit>=n){carry=1;结果加入数(bit-n);}else{carry=0;结果加入数(bit);}
}
while(point2不到最高位)
{bit=point2->val+carry;if(bit>=n){carry=1;结果加入数(bit-10);}else{carry=0;结果加入数(bit);}
}
//如果到最后还有进位没加
if(carry==1)
{结果加入数(1);
}
return 结果;}
};

c++实现 :n进制两数相加模板相关推荐

  1. 把十进制的n转化成r进制的数的模板

    void ttor(int n, int r) { if (n) { ttor(n / r, r); printf("%c", n % r > 9 ? n % r - 10 ...

  2. Leetcode445 两数相加||(单链表)

    两数相加模板: //n进制数相加int carry=0; int bit; int 数1,数2; point1指向数1的最低位,point2指向数2的最低位 res;//结果 while(point1 ...

  3. 两片74161实现60进制_74LS161设计60进制计数器-数电课程设计

    计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时.分频和执行数字运算以及其它特定的逻辑功能. 计数器种类很多.按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有 ...

  4. python两数相加有进退位_Leetcode_两数相加_python

    小编从今天起要开始分享一些Leetcode代码,通过好好练习编程能力,争取以后找一份好工作. 题目:两数相加 # Definition for singly-linked list. # class ...

  5. 【LeetCode】2.两数相加

    1.两数相加 一.问题描述 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表 ...

  6. 计算机组成原理两数相加指令,计算机组成原理复习题

    27. 一个16K×32位的存储器,其地址线和数据线的总和是 . A.48 B.46 C.36 答案:B 28.由于磁盘上的内部同心圆小于外部同心圆,则对其所存储的数据量而言, . A.内部同心圆大于 ...

  7. LeetCode两数相加

    一.两数相加 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设 ...

  8. LeetCode题库第2题 两数相加

    两数相加 LeetCode题库第二题 两数相加 看完题目,就可以将题目抽象为三个指针,前两个指针是l1和l2,后一个指针是我们要求的,这三个指针同时移动,由于可能会产生进位,所以可以用一个变量来存储这 ...

  9. 两数相加c++_LeetCode 热题 HOT 100(01,两数相加)

    LeetCode 热题 HOT 100(01,两数相加) 不够优秀,发量尚多,千锤百炼,方可成佛. 算法的重要性不言而喻,无论你是研究者,还是最近比较火热的IT 打工人,都理应需要一定的算法能力,这也 ...

最新文章

  1. 一个让你敲代码的同时,找回童年乐趣的 IntelliJ 插件
  2. android java 给控件设置style,在Android Lollipop for Material Design中为SwitchCompat按钮设置样式/着色...
  3. 数据库:数据库死机和掉电时如何让恢复数据
  4. HIN2Vec:异质信息网络中的表示学习 | PaperDaily #18
  5. 综合学生信息管理系统(JSP+JDBC)
  6. 长链剖分:O(nlogn)预处理O(1)求kth祖先
  7. 在 Windows 服务中托管 ASP.NET Core
  8. 关于在大网段中拆出小网段地址
  9. ubuntu 文件及子文件夹的权限的查看及修改
  10. 2015 EC L - Multiplication Table
  11. 在可见性变小的时代,如何修复网络问题?
  12. 使用CMD实现批量重命名[转]
  13. 蓝牙方案,蓝牙国密读卡器,TypeA/TypeB/Felca卡读写,分享蓝牙NFC读写器带USB接口,银行卡/CPU卡/NTAG213/Mifare卡蓝牙读写器,usb多通道通讯
  14. win10如何调整计算机时间同步,Win10系统时间不准如何解决 win10系统设置时间同步的方法...
  15. 卡西欧计算机怎么按N次方,卡西欧计算器结果是10的N次方怎么弄成普通的
  16. 因为一件事,公司的前后端打起来了
  17. TP礼物钻石投票评选男神女神萌娃商家投票系统源码简介下载
  18. 桌面排版神器:Affinity Publisher
  19. docker搭建FastDFS及遇到的问题解决
  20. 【文献译文】OFDM Receiver Using Deep Learning: Redundancy Issues

热门文章

  1. 使用PowerDesinger 正向工程
  2. HDU2012 素数判定【入门】
  3. Bailian2734 十进制到八进制【入门】(POJ NOI0113-45)
  4. POJ NOI0105-40 数1的个数
  5. 傅里叶级数与复的傅里叶级数、傅里叶变换
  6. Momentum(动量/冲量)的理解及应用
  7. 从张量积(tensor product)到多重线性代数(multilinear algebra)
  8. C++ 设计模式 —— 策略模式(Strategy)
  9. utilities——C++常用仿函数(二)
  10. python写csv文件按升序排列_用python给csv里的数据排序的具体代码