首頁 > 後端開發 > C++ > 將陣列表示的數字加1(遞歸方法)

將陣列表示的數字加1(遞歸方法)

王林
發布: 2023-08-28 17:17:06
轉載
1720 人瀏覽過

將陣列表示的數字加1(遞歸方法)

給定一個數組,該數組是由非負數字表示的數字的集合,將數字加1(增加由數字表示的數字)。數位儲存方式是最高位數字是數組的第一個元素。

要將數字加1到由數字表示的數字

  • 從陣列結尾開始,加法意味著將最後一個數字4舍入為5。

  • 如果最後一個元素是9,則將其變成0並進位=1。

  • 對於下一次迭代,檢查進位,如果加到10,則執行與步驟2相同的操作。

  • 在新增進位後,將進位設為0,以便下一次迭代。

  • 如果向量相加並增加向量大小,則在開頭追加1。

假設一個陣列包含元素[7, 6, 3, 4],則該陣列表示十進制數1234,因此將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]
登入後複製

Explanation 將陣列的最後一個元素加1,如果小於9。如果元素為9,則將其變為0,並對數組的剩餘元素進行遞歸。

Example

解釋 如果陣列的最後一個元素小於9,則將其加1。如果元素為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;
}
登入後複製
#

以上是將陣列表示的數字加1(遞歸方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板