Проверьте является ли число

Учитывая два положительных числа 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
является значением х

Читайте также  Пятизначное число которое делится на 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:

Ссылка на основную публикацию
Adblock
detector