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

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

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

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

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

Дано целое число N(>1), являющееся числом Фибоначчи: N=Fk(число Фибоначчи Fk определяется следующим образом: F1=1 f2=1 Fk=Fk-2+Fk-1, K=3, 4 ..). Найти целое число k-порядковый номер числа фибоначчи.
Просьба написать через printf и scanf и по возможности написать пояснение для каждой строки.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 15:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти целое число k-порядковый номер числа фибоначчи (C++):

Проверить есть ли заданные числа в последовательности Фибоначчи, и найти их порядковый номер - C++
В функцию с переменным числом параметров передаются целые числа. Проверить эсть ли эти числа в последовательности Фибоначчи и найти их...

Найти первое число последовательности большее, чем X, вывести порядковый номер числа и его величину - C++
Дано число X и последовательность (1,1 + 1/2, 1+1/2+1/3...) , найти первое число этой последовательности большее, чем X, вывести порядковый...

Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число нап - C++
2.Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать. #include...

Дано число. Разделить каждую цифру числа на его порядковый номер - C++
Как записать именно деление каждого числа на порядковые номера. могут быть ведь как, например, 111, так и 18473457645874... #include...

Дано целое число (N>0) найти наибольшее целое числа k, квадрат которого не превосходит N:k^2<=N - C++
Помогите пожалуйста сделать задачу. Нужно сделать на С++. Вот условие: Дано целое число (N&gt;0) найти наибольшее целое числа k, квадрат...

Найти порядковый номер числа - C++
помогите решить задачу Дано 10 целых чисел.Найти порядковый номер второго положительного числа

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
23.04.2013, 16:01 #2
Xo6ut, генерируете последовательность и в ходе выполнения сравниваете его с вашим числом, а так же накапливаете счётчик, при совпадении значений выводите счётчик, если сгенерированное значение больше вашего завершаете итерацию.
0
Troll1
1 / 1 / 1
Регистрация: 23.09.2012
Сообщений: 91
23.04.2013, 16:08 #3
Пишите обычную функцию для чисел Фибоначчи, и в момент совпадения с искомым числом выводите его на экран. Когда нашли число-выход из программы
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:11 #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;
}
если всё работает, отзыв вот сюда: [ссылка удалена]

Заранее Спасибо .
2
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
23.04.2013, 16:14  [ТС] #5
Cпасибо конечно за проделанную работу, но я же просил через printf и scanf(
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:16 #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;
}
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
23.04.2013, 16:17 #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));
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:18 #8
проверти правильность работы алгоритма, если есть замечания напишите с примерами.
0
nonedark2008
909 / 648 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
23.04.2013, 16:22 #9
А проще всего воспользоваться формулой:
C++
1
nF = floor(log(F*sqrt(5.)+0.5) / log(((1. + sqrt(5.)/2.))));
вроде так. Если что - формула из вики.
2
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
23.04.2013, 16:24 #10
nonedark2008, забавно, не знал, отдельное спасибо
0
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
23.04.2013, 16:29  [ТС] #11
Цитата Сообщение от nonedark2008 Посмотреть сообщение
А проще всего воспользоваться формулой:nF = floor(log(F*sqrt(5.)+0.5) / log(((1. + sqrt(5.)/2.))));
вроде так. Если что - формула из вики.
Т.е можно просто формулу ввести и не придется все это писать?
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 16:36 #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;
}
1
nonedark2008
909 / 648 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
23.04.2013, 16:37 #13
Да, немного в формуле ошибся.
Будет так:
C++
1
nF = floor( log(F * sqrt(5.)+0.5) / log( (1. + sqrt(5.) ) / 2.) )
1
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;
}

1
Xo6ut
100 / 89 / 40
Регистрация: 04.11.2011
Сообщений: 1,628
23.04.2013, 16:40  [ТС] #15
А можно вместо:
C++
1
2
3
#include <iostream>
#include <cmath>
#include <math.h>
ввести:
C++
1
2
#include <stdio.h>
#include <conio.h>
?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 16:40
Привет! Вот еще темы с ответами:

Найти порядковый номер наибольшего по значению числа - C++
Помогите пожалуйста. Нужно написать программу на C++ в программе Borland C++ или C-Free. Сделать нужно очень срочно. Задание: Найти...

Найти первое отрицательное число в последовательности и сообщить порядковый номер - C++
Помогите пожалуйста на С++ задача: Дана последовательность.Длина последовательности целых чисел – случайное число от 10 до 30. Найти первое...

Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;windows.h&gt; using namespace std; double k, newd, numDig,...

Из 12 положительных чисел, найти самое большое число и вывести его порядковый номер - C++
Входной файл: input.txt Выходной файл: output.txt Женя купила 12 яблок и по приходу домой решила узнать массу каждого яблока....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.04.2013, 16:40
Ответ Создать тему
Опции темы

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