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

Задачка на алгоритмы - C++

Восстановить пароль Регистрация
 
SHaRoM
0 / 0 / 0
Регистрация: 13.05.2012
Сообщений: 5
21.05.2012, 20:56     Задачка на алгоритмы #1
По правилу n -> n/2 (если n четно), n -> 3n + 1 (если n нечетно)
строится
последовательность чисел. Например, стартуя с 13, получим:
13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
В этой последовательности 10 элементов. Известно, что любая такая
последовательность рано или поздно завершится единицей. Найти 1 <= x
<= 10^6,
что начиная с x последовательность будет иметь наибольшую длину.

необходимо свести перебор к минимуму

известно что это число 837799 и длина цепочки 525
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2012, 20:56     Задачка на алгоритмы
Посмотрите здесь:

С++ (циклические алгоритмы) C++
C++ Алгоритмы, мышление
C++ Циклические алгоритмы
C++ Линейные алгоритмы
C++ Алгоритмы на C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
21.05.2012, 21:33     Задачка на алгоритмы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <math.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    int len = 0; __int64 n = 837799;
    while (n > 1)
    {
        printf("%d ",n);
        if (n % 2) n = 3 * n + 1;
        else n = n / 2;
        len++;
    }
 
    printf("\n\nДлина последовательности len = %d\n",len+1);
 
    return 0;
}
SHaRoM
0 / 0 / 0
Регистрация: 13.05.2012
Сообщений: 5
21.05.2012, 22:06  [ТС]     Задачка на алгоритмы #3
zitxbit, нет. надо найти это число x . то что оно равно 837799 было выяснено при переборе всех значений.
надо предложить алгоритм по которому мы найдем это число
SHaRoM
0 / 0 / 0
Регистрация: 13.05.2012
Сообщений: 5
22.05.2012, 22:41  [ТС]     Задачка на алгоритмы #4
вверх
Yandex
Объявления
22.05.2012, 22:41     Задачка на алгоритмы
Ответ Создать тему
Опции темы

Текущее время: 06:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru