Rumah > Artikel > pembangunan bahagian belakang > Tambahkan 1 pada nombor yang diwakili oleh tatasusunan (kaedah rekursif)
Diberi tatasusunan yang merupakan himpunan nombor yang diwakili oleh nombor bukan negatif, tambah nombor itu dengan 1 (naikkan nombor yang diwakili oleh nombor itu). Nombor disimpan sedemikian rupa sehingga digit tertinggi ialah elemen pertama tatasusunan.
Untuk menambah 1 pada nombor yang diwakili oleh nombor
bermula dari hujung tatasusunan, penambahan bermaksud membundarkan nombor terakhir 4 hingga 5.
Jika elemen terakhir ialah 9, tukar kepada 0 dan bawa = 1.
Untuk lelaran seterusnya, semak pembawa dan jika ia menambah 10, lakukan perkara yang sama seperti langkah 2.
Selepas menambah pembawa, tetapkan pembawa kepada 0 untuk lelaran seterusnya.
Jika vektor ditambah dan saiz vektor ditambah, tambahkan 1 pada permulaan.
Katakan tatasusunan mengandungi elemen [7, 6, 3, 4], maka tatasusunan itu mewakili nombor perpuluhan 1234, jadi penambahan 1 pada nombor ini akan memberi kita 7635. Jadi tatasusunan baharu ialah [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]
Penjelasan Tambahkan 1 pada elemen terakhir tatasusunan jika kurang daripada 9. Jika elemen ialah 9, tukarkannya kepada 0 dan ulangi untuk baki elemen tatasusunan.
Penjelasan Jika elemen terakhir tatasusunan kurang daripada 9, tambah 1 padanya. Jika elemen ialah 9, tukarkannya kepada 0 dan lakukan operasi rekursif pada elemen yang tinggal dalam tatasusunan.
#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; }
Atas ialah kandungan terperinci Tambahkan 1 pada nombor yang diwakili oleh tatasusunan (kaedah rekursif). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!