|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.05.2020, 18:27 | #11 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
Дано натуральное число N. Проверить, является ли оно степенью числа 2, и если да, то найти эту степень..
Формат входных данных Натуральное число N (1 <= N <= 109). Формат выходных данных Если число N является степенью числа 2, то вывести эту степень. Если же число N не является степенью числа 2, то вывести число -1. Это тоже выполнил, скажите как упростить (Если вообще можно). Код:
|
10.05.2020, 18:30 | #12 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
Найти наибольший общий делитель (НОД) и наименьшее общее кратное (НОК) двух заданных натуральных чисел.
Формат входных данных Два натуральных числа N, M (1 <= N, M <= 109). Формат выходных данных В одной строке НОД и НОК, разделенные одним пробелом. Смог выполнить лишь НОД, НОК не смог: Код:
|
10.05.2020, 19:22 | #13 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
По поводу поиска всех делителей. Самое простое правило для оценки получившейся программы это запустить ее с самыми "плохими" входными данными (например, с N = 1000000000) и оценить размер потребляемой памяти и затраченное время на выполнение. Обычно печать за один раз лучше, чем печать по одному числу, но если данных много, то можно потратить слишком много памяти на ее временное хранение. В питоне можно "отменить" печать новой строки print(n, end = '') и таким образом печатать несколько раз в одну строку. Следующее замечание - число, большее "n / 2", не может быть делителем (кроме самого n). Обычно же рассматривают числа только до корня из n. Поскольку в условии не требуют вывести делители по возрастанию, то можно сделать так:
Код:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 10.05.2020 в 20:01. |
16.05.2020, 15:46 | #14 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
Я захотел написать программу для нахождения n-ого числа фибоначчи. Не смог. И тогда я поискал на других сайтах, но, не один из тех вариантов которые я нашёл не сработал. Все варианты выдавали тот же-неправильный ответ.
Мой вариант: Код:
|
16.05.2020, 16:35 | #15 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.05.2020, 16:51 | #16 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
|
16.05.2020, 17:24 | #17 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
https://ideone.com/NrFpkC
У меня для входных 10 печатает 55 на 2 и 3 питонах.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.05.2020, 19:24 | #18 | ||
Старожил
Регистрация: 23.10.2010
Сообщений: 2,309
|
Цитата:
Цитата:
Альтернативное решение: Код:
При условии, что введенное число соответствует условию задачи, будет сделано 7 проверок (максимально). Но работает и на больших числах.
Как-то так, ...
|
||
16.05.2020, 19:29 | #19 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
ViktorR, там по условию, скорее всего, 10^9, просто форум скушал верхний регистр.
Ещё можно сначала проверить n & (n - 1) == 0, тогда n является степенью двойки (и другие полезные фокусы https://graphics.stanford.edu/~seander/bithacks.html).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 16.05.2020 в 19:43. |
17.05.2020, 17:13 | #20 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
Ешё одна задачка которую я не понимаю как решить:
Разложить натуральное число N на простые делители. Формат входных данных: Натуральное число N (1 < N <= 10000). Формат выходных данных: В одной строке через один пробел вывести в порядке не убывания все простые делители числа N. Я не понимаю как это сделать, и своего варианта у меня нету. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
готовлюсь к олимпиаде по информатике | salauat | Паскаль, Turbo Pascal, PascalABC.NET | 25 | 01.12.2013 21:32 |
Подготовиться к олимпиаде за лето | UaKot | Свободное общение | 20 | 10.05.2013 18:53 |
Подготовка к региональной олимпиаде | New man | Помощь студентам | 20 | 14.12.2012 21:01 |
Задачи по олимпиаде | Darick | Помощь студентам | 7 | 23.12.2011 15:45 |
Как подготовиться к олимпиаде? | Kn793 | Помощь студентам | 16 | 26.07.2008 12:22 |