В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Ivanova567
Ivanova567
22.08.2020 03:47 •  Информатика

Сдать решение задачи C1-Гипотеза Коллатца Задача C1: Гипотеза Коллатца
Недавно Ваня наткнулся на интересную гипотезу, являющуюся одной из нерешенных проблем математики. Она известна под названием «гипотеза Коллатца» и заключается в следующем:

«Выберем любое натуральное число x. Если оно чётное, то поделим его на 2 (получим x / 2), а если нечётное, то умножим на 3 и прибавим 1 (получим 3x + 1). Над новым полученным числом (x / 2 или 3x + 1) выполним те же самые действия. Продолжив выполнять данные действия, рано или поздно мы получим 1, вне зависимости от изначального числа x ».

Ваня решил проверить данную гипотезу и попытаться найти контрпример для нее. Он перебрал много разных чисел, но каждый раз у него в итоге получалась 1. В какой-то момент Ваня устал и пошёл отдыхать, решив продолжить попытки опровержения гипотезы после небольшого перерыва. Но когда он снова вернулся к своим вычислениям, он обнаружил, что его младший брат пролил на бумаги с записями сок, и некоторые числа превратились в пятна. Ваня никогда не сдаётся, поэтому он решил попробовать восстановить числа, с которых начинал свои вычисления.

Ваня видит числа, с которых вычисления продолжаются, и по размеру пятна умеет вычислять, сколько именно чисел было пропущено в вычислениях. Причем он решил восстанавливать записи, исходя из предположения, что изначальное число было минимальным.

Зная количество размытых чисел N и число K, с которого продолжаются вычисления, определите минимальное число, с которого Ваня мог начинать свои вычисления.

Примечания
Пусть, например, листок с одним из вычислений выглядит как на изображении ниже.

В таком случае Ваня определит по пятну, что пропущенных чисел N = 2, и увидит, что вычисления продолжаются с числа K = 5. Так как N = 2, он мог получить K = 5 одним из двух :

20 > 10 > 5 дважды разделив на 2
3 > 10 > 5 сначала умножив на 3 и прибавив 1, а потом разделив на 2
Минимальное начальное число — 3.

Тест №1(задача C.1): N = 2, K = 7;
Тест №2(задача C.2): N = 2, K = 32;
Тест №3(задача C.3): N = 2, K = 112;
Тест №4(задача C.4): N = 3, K = 11;
Тест №5(задача C.5): N = 3, K = 47;
Тест №6(задача C.6): N = 3, K = 512;
Тест №7(задача C.7): N = 4, K = 26;
Тест №8(задача C.8): N = 4, K = 215;
Тест №9(задача C.9): N = 5, K = 100;
Тест №10(задача C.10): N = 5, K = 1000.

Показать ответ
Ответ:
влад2318
влад2318
12.03.2022 05:21
Давай попробуем рассуждать логически.
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.

Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов. 

Думаю что так, если не напутал. Но ты лучше проверь за мной. 
0,0(0 оценок)
Ответ:
ГузоАдела
ГузоАдела
02.09.2021 07:32

#include <stdio.h>

#include <math.h>

float eps = 0.000001;

int main()

{

float n; scanf("%f", &n);

float a[n];

for (int i=0;i<n;i++)

scanf("%f", a[i]);

char toCopy = 1;

for (int i=1;i<n;i+=2)

if (abs(round(a[i]) - a[i]) > eps)

{toCopy = 0; break;}

if (toCopy)

int b[n/2];

for (int i=n-(n%2), j=0;j<n/2;i-=2, j++)

b[j] = (int)a[i];

}

Объяснение:

Предполагаю, что сначала указывается количество элементов исходного массива. Далее происходит все то, что вы описали. eps - погрешность для определения целого числа, чем оно меньше - тем точнее числа будут определяться как дробные

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота