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

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

Войти
Регистрация
Восстановить пароль
 
Shonny
0 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 46
#1

Функция, которая для заданного целого числа m находит среди первых m^2-1 чисел Фибоначчи хотя бы одно, делящееся на m (перевести на Си) - C++

28.11.2012, 18:32. Просмотров 518. Ответов 1
Метки нет (Все метки)

Условие: Напишите функцию, которая для заданного целого числа m находит среди первых m2-1 чисел Фибоначчи хотя бы одно, делящееся на m
мне бы её в си
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
#include <stdafx.h>
#include <iostream>
#include <climits>
#include <cstdlib>
using namespace std;
 
typedef unsigned long long ull;
 
// функция возвращает n-е число Фибоначчи
// или 0, если n-e число больше чем ULLONG_MAX
ull fib_n( ull n ) {
    if ( n <= 2 )
        return 1;
    ull x = 1; //F(n-2)
    ull y = 1; //F(n-1)
    ull ans = 0; //F(n)
 
    for ( ull i = 3; i <= n; ++i ) {
        if ( ( x + y ) < ans ) // на случай переполнения
            return 0;
 
        ans = x + y;
        x = y;
        y = ans;
    }
    return ans;
}
 
int main() {
 
    ull m, value = 0, number = 1;
    cout << "Vvedite m" << endl;
    cin >> m;
 
    while ( true ) {
        if ( ( value = fib_n( number ) ) % m == 0 || value == 0 )
            break;
        ++number;
    }
 
    if ( value == 0 )
        cout << "Not possible to find such number of Fibonachchi which totally shares on " << m << " krome 0" << endl;
    else
        cout << "Nacelo delitca " << m << " chislo Fibonachchi  " << value << ", kotoroe imeet nomer" << number << endl;
    return 0;
system("PAUSE");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 18:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция, которая для заданного целого числа m находит среди первых m^2-1 чисел Фибоначчи хотя бы одно, делящееся на m (перевести на Си) (C++):

Найти среди первых чисел Фибоначчи хотя бы одно, делящееся на m - C++
Друзья! Прошу помощи с задачками, кто чем может. А то препод сказал НАДО. А меня даже чайником назвать нельзя( Вот эти задачи. 2. Для...

найти среди первых чисел Фибоначчи хотя бы одно, делящееся на m - C++
Друзья! Прошу помощи с задачками, кто чем может. А то препод сказал НАДО. А меня даже чайником назвать нельзя( Вот эти задачи. 1. Целое...

Выяснить, имеется ли среди чисел последовательности хотя бы одно число Фибоначчи - C++
Прошу помочь с составлением программы: Даны целые числа a1, ..., an. Выяснить, имеется ли среди чисел последовательности хотя бы одно...

Заданы целые числа a1, a2,…, an. Написать программу, которая находит сумму четных чисел среди чисел a1, a2,…, an - C++
Заданы целые числа a1, a2,…, an. Написать программу, которая находит сумму четных чисел среди чисел a1, a2,…, an.

Найти среди первых m2-1 чисел Фибоначчи хотя бы одно, делящееся на m - Turbo Pascal
Для заданного целого числа m найти среди первых m2-1 чисел Фибоначчи хотя бы одно, делящееся на m. Добавлено через 7 часов 7 минут ...

Рекурсивная функция целого типа, которая находит сумму цифр целого числа. - Delphi
Пожалуйста ,помогите Написать рекурсивную функцию целого типа, которая находит сумму цифр целого числа*K, не*используя оператор цикла....

1
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,620
28.11.2012, 19:59 #2
Качество кода не смотрел
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
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
typedef unsigned long long ull;
 
// функция возвращает n-е число Фибоначчи
// или 0, если n-e число больше чем ULLONG_MAX
ull fib_n( ull n ) {
    if ( n <= 2 )
        return 1;
    ull x = 1; //F(n-2)
    ull y = 1; //F(n-1)
    ull ans = 0; //F(n)
    ull i;
    for ( i = 3; i <= n; ++i ) {
        if ( ( x + y ) < ans ) // на случай переполнения
            return 0;
 
        ans = x + y;
        x = y;
        y = ans;
    }
    return ans;
}
 
int main(void) {
 
    ull m, value = 0, number = 1;
    printf("Vvedite m\n");
    scanf("%llu", &m);
 
    while (1) {
        if ( ( value = fib_n( number ) ) % m == 0 || value == 0 )
            break;
        ++number;
    }
 
    if ( value == 0 )
        printf("Not possible to find such number of Fibonachchi which totally shares on %llu krome 0\n", m);
    else
        printf("Nacelo delitca %llu chislo Fibonachchi  %llu, kotoroe imeet nomer%llu\n", m, value, number);
    system("PAUSE");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 19:59
Привет! Вот еще темы с ответами:

Массив: Определить, имеется ли в массиве хотя бы одно число, делящееся на 7 и не делящееся на 4 - Delphi
Дан линейный массив A, содержащий целые числа. Определить, имеется ли в массиве хотя бы одно число, делящееся на 7 и не делящееся на 4 и...

Есть ли среди первых N цифр заданного целого числа цифра K. - Turbo Pascal
Надо решить задачу линейно или хотя бы составить линейный алгоритм. Есть ли среди первых N цифр заданного целого числа цифра K. Пожалуйста...

Определить, есть ли среди первых N цифр заданного целого числа цифра K - Pascal ABC
Помогите плиз написать код для PascalABC к заданию Определить, есть ли среди первых N цифр заданного целого числа цифра K. Препод сказала,...

Определить, есть ли среди трех чисел хотя бы одно чётное и хотя бы одно нечётное - Pascal ABC
Чётные и нечётные числа Дано три целых числа a, b, c. Определить, есть ли среди них хотя бы одно чётное и хотя бы одно нечётное. ...


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

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

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