Инкремент значения строки - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Есть строка AB нужно увеличить эти символы в лексикографическом значении: например АВ + 2 = AD При переходе через "Z" ведущие символы должны тоже увеличиваться AZ + 3 = BC

Решение задачи: «Инкремент значения строки»

textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
 
public class Kata
{
    public static void Main()
    {
        string s = "ZZZ";
        Stack<int> digits = new Stack<int>(s.Length + 1);
        int previous = 1;
        foreach (char ch in s.Reverse())
        {
            int digit = ch - 'A' + previous;
            previous = digit / 26;
            digits.Push(digit % 26);
        }
        if (previous != 0) digits.Push(previous);
        Console.WriteLine(new String(digits.Select(d => (char)(d + 'A')).ToArray()));
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы