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

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

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

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

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

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. public class Kata
  6. {
  7.     public static void Main()
  8.     {
  9.         string s = "ZZZ";
  10.         Stack<int> digits = new Stack<int>(s.Length + 1);
  11.         int previous = 1;
  12.         foreach (char ch in s.Reverse())
  13.         {
  14.             int digit = ch - 'A' + previous;
  15.             previous = digit / 26;
  16.             digits.Push(digit % 26);
  17.         }
  18.         if (previous != 0) digits.Push(previous);
  19.         Console.WriteLine(new String(digits.Select(d => (char)(d + 'A')).ToArray()));
  20.     }
  21. }

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


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

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

10   голосов , оценка 3.7 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы