Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
#1

Найти целое число k-порядковый номер числа фибоначчи - C++

23.04.2013, 15:58. Просмотров 873. Ответов 17
Метки нет (Все метки)

Дано целое число N(>1), являющееся числом Фибоначчи: N=Fk(число Фибоначчи Fk определяется следующим образом: F1=1 f2=1 Fk=Fk-2+Fk-1, K=3, 4 ..). Найти целое число k-порядковый номер числа фибоначчи.
Просьба написать через printf и scanf и по возможности написать пояснение для каждой строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 15:58     Найти целое число k-порядковый номер числа фибоначчи
Посмотрите здесь:
Проверить есть ли заданные числа в последовательности Фибоначчи, и найти их порядковый номер C++
C++ Найти первое число последовательности большее, чем X, вывести порядковый номер числа и его величину
Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число нап C++
C++ Дано число. Разделить каждую цифру числа на его порядковый номер
Дано целое число (N>0) найти наибольшее целое числа k, квадрат которого не превосходит N:k^2<=N C++
C++ Найти порядковый номер числа
C++ Найти порядковый номер наибольшего по значению числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
23.04.2013, 16:01     Найти целое число k-порядковый номер числа фибоначчи #2
Xo6ut, генерируете последовательность и в ходе выполнения сравниваете его с вашим числом, а так же накапливаете счётчик, при совпадении значений выводите счётчик, если сгенерированное значение больше вашего завершаете итерацию.
Troll1
1 / 1 / 1
Регистрация: 23.09.2012
Сообщений: 91
23.04.2013, 16:08     Найти целое число k-порядковый номер числа фибоначчи #3
Пишите обычную функцию для чисел Фибоначчи, и в момент совпадения с искомым числом выводите его на экран. Когда нашли число-выход из программы
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:11     Найти целое число k-порядковый номер числа фибоначчи #4
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
#include <iostream>
 
int get_fib(int n); // [url]http://www.cyberforum.ru/cpp-beginners/thread73752.html[/url]
int get_number_Fibonacci_numbers(int numb);
 
int main()
{
    std::cout << "Enter number: ";
 
    int number;
 
    std::cin >> number;
 
    std::cout << "Serial number: " << get_number_Fibonacci_numbers(number);
 
    return 0;
}
 
int get_fib(int n) 
{ 
     if(n==1) 
         return 1;
 
     if(n==2) 
         return 1;
 
     return get_fib(n-1) + get_fib(n-2);
};
 
int get_number_Fibonacci_numbers(int numb)
{
    for(int i = 1; ; ++i)
        if(get_fib(i) == numb)
            return i;
}
если всё работает, отзыв вот сюда: [ссылка удалена]

Заранее Спасибо .
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
23.04.2013, 16:14  [ТС]     Найти целое число k-порядковый номер числа фибоначчи #5
Cпасибо конечно за проделанную работу, но я же просил через printf и scanf(
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:16     Найти целое число k-порядковый номер числа фибоначчи #6
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
#include <iostream>
 
int get_fib(int n); // [url]http://www.cyberforum.ru/cpp-beginners/thread73752.html[/url]
int get_number_Fibonacci_numbers(int numb);
 
int main()
{
    std::cout << "Enter number: ";
 
    int number;
 
    scanf("%d",&number);
 
    printf("Serial number: %d", get_number_Fibonacci_numbers(number));
 
    return 0;
}
 
int get_fib(int n) 
{ 
     if(n==1) 
         return 1;
 
     if(n==2) 
         return 1;
 
     return get_fib(n-1) + get_fib(n-2);
};
 
int get_number_Fibonacci_numbers(int numb)
{
    for(int i = 1; ; ++i)
        if(get_fib(i) == numb)
            return i;
}
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
23.04.2013, 16:17     Найти целое число k-порядковый номер числа фибоначчи #7
Xo6ut,
C++
1
std::cout << "Serial number: " << get_number_Fibonacci_numbers(number);
to
C++
1
printf("Serial number:  %d", get_number_Fibonacci_numbers(number));
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:18     Найти целое число k-порядковый номер числа фибоначчи #8
проверти правильность работы алгоритма, если есть замечания напишите с примерами.
nonedark2008
889 / 628 / 126
Регистрация: 28.07.2012
Сообщений: 1,697
23.04.2013, 16:22     Найти целое число k-порядковый номер числа фибоначчи #9
А проще всего воспользоваться формулой:
C++
1
nF = floor(log(F*sqrt(5.)+0.5) / log(((1. + sqrt(5.)/2.))));
вроде так. Если что - формула из вики.
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
23.04.2013, 16:24     Найти целое число k-порядковый номер числа фибоначчи #10
nonedark2008, забавно, не знал, отдельное спасибо
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
23.04.2013, 16:29  [ТС]     Найти целое число k-порядковый номер числа фибоначчи #11
Цитата Сообщение от nonedark2008 Посмотреть сообщение
А проще всего воспользоваться формулой:nF = floor(log(F*sqrt(5.)+0.5) / log(((1. + sqrt(5.)/2.))));
вроде так. Если что - формула из вики.
Т.е можно просто формулу ввести и не придется все это писать?
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:36     Найти целое число k-порядковый номер числа фибоначчи #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
#include <math.h>
 
int main()
{
    std::cout << "Enter number: ";
 
    int number;
 
    scanf("%d",&number);
 
    printf("Serial number: %f", floor( log(number * sqrt(5.)+0.5) / log( (1. + sqrt(5.) ) / 2.) ));
 
    return 0;
}
nonedark2008
889 / 628 / 126
Регистрация: 28.07.2012
Сообщений: 1,697
23.04.2013, 16:37     Найти целое число k-порядковый номер числа фибоначчи #13
Да, немного в формуле ошибся.
Будет так:
C++
1
nF = floor( log(F * sqrt(5.)+0.5) / log( (1. + sqrt(5.) ) / 2.) )
GetVariable
23.04.2013, 16:38
  #14

Не по теме:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
#include <math.h>
 
int main()
{
    std::cout << "Enter number: ";
 
    int number;
 
    scanf("%d",&number);
 
    printf("Serial number: %f", floor( log(number * sqrt(5.)+0.5) / log( (1. + sqrt(5.) ) / 2.) ));
 
    return 0;
}

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 16:40     Найти целое число k-порядковый номер числа фибоначчи
Еще ссылки по теме:
C++ Найти первое отрицательное число в последовательности и сообщить порядковый номер
C++ Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать
Из 12 положительных чисел, найти самое большое число и вывести его порядковый номер C++
C++ Найти порядковый номер числа содержащего наибольшую цифру в десятичной записи
Дано 10 вещественных чисел. Найти порядковый номер второго положительного числа C++

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

Или воспользуйтесь поиском по форуму:
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
23.04.2013, 16:40  [ТС]     Найти целое число k-порядковый номер числа фибоначчи #15
А можно вместо:
C++
1
2
3
#include <iostream>
#include <cmath>
#include <math.h>
ввести:
C++
1
2
#include <stdio.h>
#include <conio.h>
?
Yandex
Объявления
23.04.2013, 16:40     Найти целое число k-порядковый номер числа фибоначчи
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru