Инкремент значения строки - 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())); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д