Содержание
- 1 Рекомендовано: Пожалуйста, сначала решите вопрос по « ПРАКТИКЕ », прежде чем переходить к решению.
- 2 Джава
- 3 python3
- 4 Ответ
- 5 Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
- 6 Является ли число простым – Проверяем на языке Си
- 7 Простое число – определение
- 8 Функция на Си, проверяющая – является ли число простым
Учитывая два положительных числа x и y, проверьте, является ли y степенью x или нет.
Примеры :
Рекомендовано: Пожалуйста, сначала решите вопрос по « ПРАКТИКЕ », прежде чем переходить к решению.
Простым решением является многократное вычисление степеней х. Если сила становится равной y, то y — это сила, иначе нет.
ссылка на сайт
brightness_4
код
Джава
ссылка на сайт
brightness_4
код
python3
ссылка на сайт
brightness_4
код
ссылка на сайт
brightness_4
код
ссылка на сайт
brightness_4
код
Выход:
Временная сложность вышеуказанного решения составляет O (Log x y)
Оптимизация:
Мы можем оптимизировать вышеуказанное решение для работы в O (Log Log y). Идея состоит в том, чтобы сделать квадрат силы вместо умножения ее на x, т. Е. Сравнить y с x ^ 2, x ^ 4, x ^ 8,… и т. Д. Если x становится равным y, вернуть true. Если x становится больше, чем y, то мы выполняем двоичный поиск степени x между предыдущей степенью и текущей мощностью, то есть между x ^ i и x ^ (i / 2).
Ниже приведен подробный шаг.
Альтернативное решение:
Идея состоит в том, чтобы взять журнал у в базе х. Если это целое число, мы возвращаем true. Остальное ложно.
712020 : х =237340
12228 : х = 3
- Попроси больше объяснений
- Следить
- Отметить нарушение
Ludasha11 31.03.2015
Что ты хочешь узнать?
Ответ
Проверено экспертом
712020 : х =237340
х= 712020: 237340
х=3
является значением х
12228 : х = 3
х= 12228 :3
х=4076
не является значением х
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode
Является ли число простым – Проверяем на языке Си
Напишем на языке Си программу, проверяющую является ли число простым. Для проверки будем использовать простейший алгоритм, основанный непосредственно на определении простого числа.
Простое число – определение
Простое число – это натуральное число (то есть целое и положительное), большее, чем единица, которое делится без остатка только на единицу и само на себя.
Список простых чисел (приведем до ста) начинается так: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97…
Функция на Си, проверяющая – является ли число простым
Напишем на языке Си функцию, которая будет проверять – простое ли число. И возвращать результат проверки в виде логической величины bool: true (да) или false (нет).
Алгоритм проверки числа n на простоту строится на определении термина простого числа.
Во-первых число n должно быть больше 1 (проверяем это в строке 5 с помощью условного оператора if), а во-вторых проверяемое число должно иметь только два делителя: 1 и n (проверяем это в строках 8-10 с помощью цикла for и оператора if).
Для работы данного метода требуется подключить заголовочный файл stdbool.h в начале файла с исходным кодом. В stdbool.h содержится определение логических констант true и false, поскольку в чистой версии языка Си они отсутствуют.
Для подключения используем директиву include: