将用数组表示的数字加1(递归方法)?
给定一个数组,它是一个用数字数组表示的非负数集合,将数字加1(增加数字数组表示的数字)。数字的存储方式是,最高位数字是数组的第一个元素。
将数字加1
从数组末尾开始加,加法意味着将最后一个数字4舍入到5。
如果最后一个元素是9,将其设为0,进位=1。
对于下一次迭代,检查进位,如果它加到10,则执行与步骤2相同的操作。
加完进位后,将进位设为0,用于下一次迭代。
如果向量相加并增加了向量大小,则在开头追加1。
假设一个数组包含元素[7, 6, 3, 4],则该数组表示十进制数7634,因此将1加到这个数将得到7635。因此新数组将是[7, 6, 3, 5]。
示例
Input: [7, 6, 9, 9] Output: [7, 7, 0, 0] Input: [4, 1, 7, 8, 9] Output: [4, 1, 7, 9, 0]
说明 将1加到数组的最后一个元素,如果它小于9。如果元素是9,则将其设为0,并对数组的其余元素进行递归。
示例
#include <iostream>
using namespace std;
void sum(int arr[], int n) {
int i = n;
if(arr[i] < 9) {
arr[i] = arr[i] + 1;
return;
}
arr[i] = 0;
i--;
sum(arr, i);
if(arr[0] > 0) {
cout << arr[0] << ", ";
}
for(int i = 1; i <= n; i++) {
cout << arr[i];
if(i < n) {
cout << ", ";
}
}
}
int main() {
int n = 4;
int arr[] = {4, 1, 7, 8, 9};
sum(arr, n);
return 0;
}
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP