使用依次相加,记录进位的方式进行运算,下面是我的解答,leetcode上运行耗时20ms,内存占用7.3MB struct ListNode{ int val; struct ListNode *next; }; struct ListNode* addTwoNumbers(struct ListN ...
分类:
其他好文 时间:
2020-04-27 15:44:38
阅读次数:
47
[toc] 加法器相关 半加器和全加器的区别在于,是否有进位输入端,可以直观地理解为, 半加器是两个一比特相加 ,而 全加器是三个一比特相加 ,输出结果和进位信号。 半加器 半加器的真值表如下图 | 输入 | | 输出 | | | : : | : : | : : | : : | | A | B | ...
分类:
其他好文 时间:
2020-04-25 19:24:27
阅读次数:
98
一道简单题,重点在于进位的处理。 有意思的地方是,进位的动作非常适合使用递归描述,一位一位的处理,并由上一位的计算结果决定该位的处理方式。 定义递归的坐标:flag:当前处理的位数;isCarry:上一位计算是否进位 public final int[] plusOne(int[] digits) ...
分类:
其他好文 时间:
2020-04-20 00:55:48
阅读次数:
57
异或运算特点: 异或..就是不带进位的加法..1+1=10,舍掉进位为01+0=10+1=10+0=0 如果还不是很明白只要记住 异或:二者不同时结果为1 题目:找出唯一成对的数 1-1000这1000个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其他均只出现一次。每个数组元素只能访 ...
分类:
编程语言 时间:
2020-04-18 15:27:40
阅读次数:
55
二进制加法器 二进制加法要解决的两个问题是,加法本位和进位,相加的操作和十进制加法非常类似。 加法器的控制面板如下图: 两排开关代表两个8位二进制数,一排灯泡代表加法的结果,亮代表1,不亮代表0,有9个灯泡代表相加结果可能是9位的二进制数。 相加的规律 进位的规律如下: 这个结果和与门的输出结果是一 ...
分类:
其他好文 时间:
2020-04-18 12:08:30
阅读次数:
86
没有校验过, 可能有锅qwq Kummer定理 设$n、m$为正整数,$p$为素数,则$C_{n+m}^m$含$p$的幂次数等于$m+n$在p进制下的进位次数(在加法过程中)。 前置芝士: $n!$含有的$p$的幂次数为: $$\sum_1^{\infty} \Big[ \frac{n}{p^i} ...
分类:
其他好文 时间:
2020-04-18 12:05:42
阅读次数:
123
1. 两超长整数相加 两个数先用字符串存储(C++可用string,然后用cin输入),从后往前,每次各取一个做加法,记下和(用栈)和进位值;下一次再取做加法时要加上进位......。一个字符串取完了,另一个没取完,则没取完的字符串继续加进位。 string x,y; cin>>x>>y; stac ...
分类:
其他好文 时间:
2020-04-17 12:49:17
阅读次数:
77
描述 给出两个整数 a 和 b , 求他们的和。 1 int aplusb(int a, int b) { 2 // write your code here 3 int _a=0,_b=0; 4 while((a&b) != 0) //判断是否有进位影响 5 { 6 7 _a=a^b; //不带进 ...
分类:
其他好文 时间:
2020-04-17 00:37:01
阅读次数:
58
一、要求 ;编程计算1EF000H+201000H,结果放在ax(高16位)和bx(低16位)中 二、代码实现 1 assume cs:code 2 3 code segment 4 start: mov ax,001eh ;高16位 5 mov bx,0f000h ;低16位 6 add bx,1 ...
分类:
其他好文 时间:
2020-04-07 09:44:11
阅读次数:
68
题面很短,别的博客也讲了就不说题意了。 做法: 异或是没有进位的加法,所以ai + 1的二进制最高位要大于ai的二进制最高位,才能满足ai递增,bi也递增的条件。呐这样的话,选了4,(5,6,7)就都不能选了,只能选比7大的数。 这样分析下来a数组最长也只有30,(2^30>1e9) 直接按照数字大 ...
分类:
其他好文 时间:
2020-04-04 14:21:22
阅读次数:
59