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