Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 17.10.2012
Сообщений: 21
1

Найти первое из чисел Фибоначчи, большее чем N

18.10.2012, 09:11. Показов 3234. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ввести целое число N > 1. Найти первое из чисел Фибоначчи, большее чем N. Последовательность чисел Фибоначчи FK (целого типа) определяется следующим образом: F1 =1, F2= 1, FK=FK-2 + FK-1, K = 3, 4, ... N.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2012, 09:11
Ответы с готовыми решениями:

Найти среди чисел первое, большее заданного
Добрый день знатоки Дано вещественное число "a". Найти среди чисел 1,1+1/2,1+1/2+1/3,... Первое,...

Среди чисел 1, 4, 9, 16, 25, ... найти первое число, большее n
Не могу найти решение, помогите пожалуйста Среди чисел 1, 4, 9, 16, 25, ... найти первое число,...

Среди последовательности чисел найти первое число, большее n
5 Задача:

Среди чисел 1;1+1/2;1+1/2+2/3;......Найти первое, большее наперед заданного числа A.
Помогите, пожалуйста, сделать задачку. Вот условие: Среди чисел 1;1+1/2;1+1/2+2/3;......Найти...

10
73 / 73 / 10
Регистрация: 18.09.2012
Сообщений: 208
18.10.2012, 12:16 2
Есть общая формула
http://ru.wikipedia.org/wiki/Числа_Фибоначчи

можно её использовать, попытаться...
0
687 / 601 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
18.10.2012, 13:57 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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int N = Convert.ToInt32(Console.ReadLine());
            List<int> fibonachi = new List<int>();
            fibonachi.Add(1);
            fibonachi.Add(1);
            while (fibonachi[fibonachi.Count - 1] <= N)
            {
                fibonachi.Add(fibonachi[fibonachi.Count - 1] + fibonachi[fibonachi.Count - 2]);
            }
            Console.WriteLine(fibonachi[fibonachi.Count - 1]);
        }
    }
}
1
Заблокирован
19.10.2012, 15:02 4
C#
1
2
3
var c = new {a = 1, b = 2};
Enumerable.Repeat(0, int.MaxValue).TakeWhile(x => { c = new {a = c.b, b = c.a + c.b}; return n > c.b; }).Last();
int result = c.a;
3
340 / 340 / 90
Регистрация: 04.03.2010
Сообщений: 648
19.10.2012, 15:28 5
NightmareZ, интересно, только небольшая поправка - в самом задании надо найти не меньшее первое, а большее первое.
0
Заблокирован
19.10.2012, 15:29 6
Цитата Сообщение от andrew_w2k Посмотреть сообщение
NightmareZ, интересно, только небольшая поправка - в самом задании надо найти не меньшее первое, а большее первое.
Тогда:
C#
1
int result = c.b;
0
340 / 340 / 90
Регистрация: 04.03.2010
Сообщений: 648
19.10.2012, 15:31 7
NightmareZ, ну и ещё одно - что будет если n = 2 или n = 3?
0
Заблокирован
19.10.2012, 15:34 8
Цитата Сообщение от andrew_w2k Посмотреть сообщение
NightmareZ, ну и ещё одно - что будет если n = 2 или n = 3?
Ничего хорошего. Так же, как если, например, n = -148. Ну if'ов порасставить надо на эти случаи. Я ж концепцию показываю...
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.10.2012, 16:23 9
NightmareZ, linq в таких вещах ваще зло. Читабельности нет, эффективности нет. Вопрос: зачем тогда, собственно? Разве что повыпендриваться

Бельфегор, массив зачем? Для числа фибоначчи достаточно иметь 2 числа.

Добавлено через 4 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
private static long FibonacciHigherThan(long n)
        {
            long fib_n_2 = 0, fib_n_1 = 1;
            for (int i = 1; fib_n_1 < n; i++)
            {
                var temp = fib_n_1;
                fib_n_1 += fib_n_2;
                fib_n_2 = temp;
            }
            return fib_n_1;
        }
1
Заблокирован
19.10.2012, 16:46 10
Цитата Сообщение от Psilon Посмотреть сообщение
NightmareZ, linq в таких вещах ваще зло. Читабельности нет, эффективности нет. Вопрос: зачем тогда, собственно? Разве что повыпендриваться
Краткоть и, таки да, читабельность.
0
687 / 601 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
19.10.2012, 17:25 11
Цитата Сообщение от Psilon Посмотреть сообщение
Бельфегор, массив зачем? Для числа фибоначчи достаточно иметь 2 числа.
Ты прав, написал на скорую руку. Оптимизорать можно без конца. По ходу у вас с NightmareZ -ом завязывается научная баталия
0
19.10.2012, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2012, 17:25
Помогаю со студенческими работами здесь

Циклы, найти среди чисел первое большее чем заданное A
здравствуйте! вот программа: /*условие задачи:Дано действительное число а(1&lt;а&lt;3). Составить ...

Найти первое число Фибоначчи, большее N
Дано целое число N (N&gt;1). Найти первое число Фибоначчи, большее N.

Найти первое число Фибоначчи, большее N
Дано целое число N (N&gt;1). Найти первое число Фибоначчи, большее N.

Найти первое число Фибоначчи, большее N
через while. Дано целое число N (&gt; 1). Найти первое число Фибоначчи, большее N. (определение чисел...


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

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