How to increment an integer represented as an integer list of digits by one in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;

class Program
{
    static List<int> IncrementByOne(List<int> digits) {
        int carry = 1;

        for (int i = digits.Count - 1; i >= 0; i--) {
            digits[i] += carry;

            if (digits[i] == 10) {
                digits[i] = 0;
                carry = 1;
            }
            else {
                carry = 0;
                break;
            }
        }

        if (carry == 1) {
            digits.Insert(0, 1);
        }

        return digits;
    }

    static void Main()
    {
        List<int> digits = new List<int> { 9, 9, 9 };

        IncrementByOne(digits);

        Console.Write("Result: ");
        foreach (int digit in digits) {
            Console.Write(digit + " ");
        }
        Console.WriteLine();
    }
}


/*
run:

Result: 1 0 0 0 

*/

 



answered Jul 2, 2025 by avibootz
...