По тексту вывести последовательность Фибоначчи - C#

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

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

Нужно заменить буквы слова на последовательность Фибоначчи, начиная с тройки и после каждого числа ставить #. Например, букве "а" соответствует - 3, букве "б" - 5, букве "в" - 8 и т.д. Пример:

Ввод:

привет

Вывод:

6765#10946#233#8#34#28657
Часть кода:
            string str = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
            string output = "";         
            int[] a = new int[str.Length];
            a[0] = 3;
            a[1] = 5;
            for (int i = 2; i < str.Length; i++)
            {
                a[i] = a[i - 1] + a[i - 2];
            }
            for (int i = 0; i < str.Length; i++)
            {
                if(i == 0)
                {
                    output += a[i];
                }
                else
                {
                    output += "#" + a[i];
                }               
            }
            Console.Write("{0}", output);

Решение задачи: «По тексту вывести последовательность Фибоначчи»

textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        Dictionary<char, string> fib = new Dictionary<char, string>();
        int a = 1;
        int b = 2;
        foreach (char ch in "абвгдеёжзийклмнопрстуфхцчшщьыъэюя")
        {
            int f = a + b;
            fib[ch] = f.ToString();
            a = b;
            b = f;
        }
        Console.WriteLine(String.Join("#",
            "привет!".Select(ch => fib.ContainsKey(ch) ? fib[ch] : ch.ToString())
        ));
    }
}

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


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

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

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