0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
1

Составить программу для вычисления и вывода n первых чисел Фибоначчи

03.03.2013, 11:14. Показов 9472. Ответов 11
Метки нет (Все метки)

Составить программу для вычисления и вывода n первых чисел Фибоначчи. Числа Фибоначчи
получаются с помощью следующих рекуррентных соотношений: f1 = f2 = 1, fn = fn-1+ fn-2, n ≥ 3, где fn
целое. Отследить корректность ввода исходных данных.

Помогите код в C# составить...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2013, 11:14
Ответы с готовыми решениями:

Используя одномерный массив, составить программу для вывода десяти первых чисел Фибоначчи и их суммы
1). Используя одномерный массив, составить программу для вывода десяти первых чисел Фибоначчи и их...

Составить программу вычисления первых N чисел Фибоначчи
Составить программу или подпрограмму.Вводимое число может содержать до 10-ти цифр. Организовать...

Составить программу поиска первых n четных чисел (n - с клавы), в последовательности чисел Фибоначчи
Нужно составить программу используя do while. У меня не получается, это всё что смог написать. ...

Составить программу для вычисления и вывода на экран положительных чисел масива кратных 5
Дан масив размера С(NxM) с элементами целого типа. Составить программу для вычисления и вывода на...

11
78 / 78 / 15
Регистрация: 27.01.2013
Сообщений: 323
03.03.2013, 13:22 2
Было уже на форуме про числа Фибоначчи:
Ссылка 1
Ссылка 2
0
16 / 16 / 8
Регистрация: 18.03.2014
Сообщений: 268
08.03.2015, 12:31 3
Оставлю это тут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
 
namespace Vla
{
    class Program
    {
        static string Revers(string str)
        {
            string res = "";
 
            for (int i = str.Length - 1; i>=0; i--)
            {
                res += str[i].ToString();
            }
            return res;
 
        }
 
        static string Plus(string num0, string num1)
        {
            on1:
            if (num0.Length < num1.Length)
            {
                string temp = num0;
                num0 = num1;
                num1 = temp;
            }
 
 
            string resault = "";
        
            if (num0.Length != num1.Length)
            {
            
 
                    int r = num0.Length - num1.Length;
                    int s = 0;
 
                    for (int i = num1.Length - 1; i >= 0; i--)
                    {
                        int a = Int32.Parse(num0[i + r].ToString()) + Int32.Parse(num1[i].ToString()) + s;
                        s = 0;
                        if (a >= 10)
                        {
                            a = a - 10;
                            s += 1;
 
                            resault += a.ToString();
                        }
                        else
                        {
                            resault += a.ToString();
                        }
                    }
                    string resault1 = (Int64.Parse(num0.Substring(0, r)) + s).ToString() + Revers(resault);
                    return resault1;
 
            }
            else
            {
                num1 = num1.Insert(0, "0");
 
                goto on1;
            }
        }
 
        static string Filter1(string _str)
        {
            string str = _str;
            while(true)
            {
                if (str[0].ToString() == "0")
                    str = str.Remove(0,1);
                else
                    return str;
            }
            return str;
        }
 
        
        public static void Main()
        {
            string a = "0";
            string b = "1";
            string c = "0";
 
            while (true)
            {
                c = Plus(b, a);
                a = b;
                b = c;
                Console.Write(Filter1(c) + " ");
Thread.Sleep(500); // Если надо медленно иначе закоментируй
            }
        }
    }
}
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
08.03.2015, 16:22 4
Hopeco, этопять
0
16 / 16 / 8
Регистрация: 18.03.2014
Сообщений: 268
08.03.2015, 16:56 5
rattrapper, что значит этопять?
Если вы имели ввиду это опять, я просто оставил быстрый способ генерации n-ого чисел Фибоначчи.
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
08.03.2015, 20:45 6
Hopeco, вот уж не знаю. Вникать во все сразу лень, но в вашем коде частенько пахнет незнанием языка. И есть ли обоснование использования строк вместо чисел???
Цитата Сообщение от Hopeco Посмотреть сообщение
быстрый способ
Попробуйте это:
C#
1
2
3
4
5
6
7
8
static long Fib(int n)
{
    if (n == 0) return 0;
    if (n <= 2) return 1;
    int k = n / 2;
    long a = Fib(k + 1), b = Fib(k);
    return n % 2 == 0 ? b * (2 * a - b) : a * a + b * b;
}
0
2644 / 2220 / 239
Регистрация: 03.07.2012
Сообщений: 8,064
Записей в блоге: 1
08.03.2015, 23:41 7
Цитата Сообщение от rattrapper Посмотреть сообщение
Попробуйте это:
rattrapper, попробуйте вычислить 200-е или 2000-е число фибоначчи
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
09.03.2015, 01:01 8
Цитата Сообщение от zer0mail Посмотреть сообщение
попробуйте вычислить 200-е или 2000-е
ну, по крайней мере BigInteger еще никто не отменял)
v2.0 :)
C#
1
2
3
4
5
6
7
8
static BigInteger Fib(int n)
{
    if (n == 0) return 0;
    if (n <= 2) return 1;
    int k = n / 2;
    BigInteger a = Fib(k + 1), b = Fib(k);
    return n % 2 == 0 ? b * (2 * a - b) : a * a + b * b;
}
0
16 / 16 / 8
Регистрация: 18.03.2014
Сообщений: 268
09.03.2015, 08:17 9
rattrapper, я использую строки место числе просто как эксперимент Просто к ним прикрутил числа Фибоначчи и вот вы видите сие убожество.

Добавлено через 2 минуты
Даже не знаю сможет ли вместить BigInteger вот такое число:
http://rghost.ru/8BtxSkDxb.view ( это всё одно число )
http://rghost.ru/8NtGfgDBL.view ( аналогично всё это одно число )
0
Администратор
Эксперт .NET
15236 / 12275 / 4903
Регистрация: 17.03.2014
Сообщений: 24,877
Записей в блоге: 1
09.03.2015, 10:42 10
Цитата Сообщение от Hopeco Посмотреть сообщение
Даже не знаю сможет ли вместить BigInteger вот такое число:
Сможет.
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.03.2015, 15:24 11
Hopeco, Алгоритм нахождения чисел Фибоначчи

можете любое число написать.
1
16 / 16 / 8
Регистрация: 18.03.2014
Сообщений: 268
09.03.2015, 17:19 12
Psilon, занятно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2015, 17:19
Помогаю со студенческими работами здесь

Составить схему алгоритма и программу на языке Паскаль для вывода на экран таблицу квадратов первых восьми чисел
Составить схему алгоритма и программу на языке Паскаль для вывода на экран таблицу квадратов...

Составить алгоритм и программу вычисления и вывода первых 15 членов последовательности и их суммы
Составить алгоритм и программу вычисления и вывода первых 15 членов последовательности и их суммы....

Составить алгоритм и программу вычисления и вывода первых 15 членов последовательности и их суммы
1. Сформировать в программе массив из целых чисел от 2 до N. Подсчитать сумму квадратов четных и...

Составить программу вывода на экран простых чисел их первых N натуральных чисел..
Составить программу вывода на экран простых чисел их первых N натуральных чисел..


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

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

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