有两种做法消此,一种是蠢桥友一个reducer 然后带槐内部排序
另外一个是重写partitioner
可以去搜搜MapReduce做排序
include <stdio.h>int main(){ int arr1[20], arr2[20], sum[20] = {0}int count = 0, a, b, i, tempscanf("%d %d", &a, &b)while (a != 0 || b != 0) { arr1[count] = a % 10arr2[count] = b % 10a /= 10b /= 10count++} for (i = 0i <counti++) { temp = arr1[i] + arr2[i]sum[i] += temp % 10sum[i + 1] = temp / 10} if (sum[count]) printf("%d", sum[count])else printf("%d", sum[count - 1])return 0}把两个数拆开,每个位相加,处理进位。因为这是加法,所以结果的长度和两数中最蚂老长的那个相同,或者正罩比它大1,举物闹if判断一下哪个是最高位就行了。sum存储的是两数和的每一位,它的所有元素的初始值都被置为0.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)