9 / 9 / 12
Регистрация: 26.09.2016
Сообщений: 180
1

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

29.12.2016, 19:55. Показов 913. Ответов 4
Метки нет (Все метки)

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

Пример:
Ввод:
Кликните здесь для просмотра всего текста
привет

Вывод:
Кликните здесь для просмотра всего текста
6765#10946#233#8#34#28657


Часть кода:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            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);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2016, 19:55
Ответы с готовыми решениями:

Последовательность Фибоначчи
Последовательность фибоначчи определяется так а(0)=1. а(к)-1=а(к-1)+а(к-2)при к&gt;=2. дано n...

Последовательность Фибоначчи
1 Последовательность Фибоначчи определяется так: a(0)= 1, a(1) = 1, a(k) = a(k-1) + a(k-2) при k &gt;=...

Последовательность Фибоначчи
Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1,...

Последовательность чисел Фибоначчи
Помогите дописать код. Нужно добавить, чтоб сначала выводилась сама последовательность из чисел...

4
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
29.12.2016, 21:05 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
        static string alfa => "abcdef";
        static int Fib(int n) => (int)Math.Round((Math.Pow((0.5 + Math.Sqrt(5) / 2), n + 4) / Math.Sqrt(5)));
 
        static void Main(string[] args)
        {
            string s = "abcde";
            var lst = new List<int>();
            foreach (char c in s)
                lst.Add(Fib(alfa.IndexOf(c)));
            Console.WriteLine(string.Join("#", lst));
            Console.ReadKey(true);
        }
1
9 / 9 / 12
Регистрация: 26.09.2016
Сообщений: 180
29.12.2016, 21:09  [ТС] 3
Diamante, Сложноватый код для меня, хотелось бы алгоритм на основе моей программы сделать.
0
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
29.12.2016, 23:07 4
RemX, в чем он сложный?
В функции Fib?
Это ведь элементарно...
Почитайте про делегаты
0
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
30.12.2016, 10:04 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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())
        ));
    }
}
0
30.12.2016, 10:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2016, 10:04
Помогаю со студенческими работами здесь

Получить последовательность n чисел Фибоначчи
Получить последовательность n чисел Фибоначчи (целое число n&gt;1).

Заменить алфавит на последовательность Фибоначчи
Нужно заменить алфавит на последовательность Фибоначчи начиная с 3 и между числами поставить #....

Проверить образуют ли введенные числа последовательность Фибоначчи
В первой строчке вводится сколько всего элементов последовательности(до ста) Во второй строчке n...

Дана последовательность Фибоначчи по простому модулю P (P <= 1000). F(0) = 0, F(1) = 1, F(i + 2) = (F(i) + F(i
Дана последовательность Фибоначчи по простому модулю P (P &lt;= 1000). F(0) = 0, F(1) = 1, F(i + 2) =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru