Maison  >  Article  >  développement back-end  >  Ajoutez 1 au nombre représenté par le tableau (méthode récursive)

Ajoutez 1 au nombre représenté par le tableau (méthode récursive)

王林
王林avant
2023-08-28 17:17:061658parcourir

Ajoutez 1 au nombre représenté par le tableau (méthode récursive)

Étant donné un tableau qui est une collection de nombres représentés par des nombres non négatifs, ajoutez le nombre de 1 (augmentez le nombre représenté par le nombre). Les nombres sont stockés de telle manière que le chiffre le plus élevé soit le premier élément du tableau.

Pour ajouter 1 au nombre représenté par le nombre

  • en partant de la fin du tableau, l'addition consiste à arrondir le dernier chiffre de 4 à 5.

  • Si le dernier élément est 9, changez-le en 0 et portez = 1.

  • Pour la prochaine itération, vérifiez le report et s'il totalise 10, faites la même chose qu'à l'étape 2.

  • Après avoir ajouté le report, définissez le report sur 0 pour la prochaine itération.

  • Si des vecteurs sont ajoutés et que la taille du vecteur est augmentée, ajoutez 1 au début.

Supposons qu'un tableau contienne des éléments [7, 6, 3, 4], alors le tableau représente le nombre décimal 1234, donc ajouter 1 à ce nombre nous donnera 7635. Le nouveau tableau sera donc [7, 6, 3, 5].

Exemple

Input: [7, 6, 9, 9]
Output: [7, 7, 0, 0]
Input: [4, 1, 7, 8, 9]
Output: [4, 1, 7, 9, 0]

Explication Ajoutez 1 au dernier élément du tableau s'il est inférieur à 9. Si l'élément est 9, changez-le en 0 et récurez pour les éléments restants du tableau.

Exemple

Explication Si le dernier élément du tableau est inférieur à 9, ajoutez-y 1. Si l'élément est 9, changez-le en 0 et effectuez une opération récursive sur les éléments restants du tableau.

Exemple

#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;
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer