5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
||||||
1 | ||||||
Точная P-ая степень10.08.2011, 19:05. Показов 3720. Ответов 41
Метки нет (Все метки)
Точная P-ая степень
Число x является точным квадратом, если для некотого целого b, x = b2. Аналогично x является точным кубом, если для некоторого целого b, x = b3. Далее будем утверждать, что x является точной p-ой степенью, если существует такое целое b, что x = bp. По заданному целому x необходимо найти наибольшее p, для которого x является точной p-ой степенью. Технические условия Входные данные Содержит одно число - 32 битовое целое знаковое x, |x| > 1. Выходные данные Вывести наибольшее p, для которого x является точной p-ой степенью. Лимит времени: 1 секунда Баллы за пройденный тест: 5 Сложность: 25% Пример Пример входных данных Sample 1 17 Sample 2 1073741824 Пример выходных данных Sample 1 1 Sample 2 30 Вот моя реализация:
0
|
10.08.2011, 19:05 | |
Ответы с готовыми решениями:
41
Точная степень двойки Точная степень двойки Точная замена ссылки Точная аппроксимация полиномом |
11.08.2011, 19:24 | 21 |
Не по теме: Аналогично, а е-олим не рекомендую там куча нюансов - за всеми не уследишь. Асмпешники тимус хвалят, как вам он? Добавлено через 1 минуту
0
|
Заблокирован
|
||||||
11.08.2011, 19:27 | 22 | |||||
Без учета знака:
0
|
Higher
|
|
11.08.2011, 19:32 | 23 |
Не по теме: Больно много задач и рейтинга вменяемого вроде бы нету... Но то, что он интернациональный для меня плюс. Первые места: рас два А так я частенько в топ попадал, правда в последнее время забил на него и приучаюсь писать нормальный код. И вообще, где модераторы? =) Такой оффтоп лютый стоит... В задаче же написано - знаковое число.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
11.08.2011, 20:11 | 25 |
Не по теме: во нафлудили-то Ну, над "Неверный ответ" надо подумать, а с "Исчерпан лимит времени" всё просто. Достотаточно взять большое простое число. Например 2147483647 у меня 40 секунд молотит.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
11.08.2011, 20:18 | 27 |
Ну тут сравнивать лучше в одном месте
Программа из #22 скомпилированная с теми же настройками на том же числе работает у меня 6 секунд. Всё-таки, наверное, недостаточно быстро.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
11.08.2011, 20:47 | 29 |
Поскольку у меня компилятор ругался (у меня long 64 бита), то я, разумеется, заменил %d на %ld
Надо попробовать наоборот, long на int заменить Добавлено через 54 секунды diagon, а ты про какую из 2 программ Добавлено через 3 минуты Хм, с интом прогамма Ольги работает 11 секунд. Я не думал, что 64-битные вычисления настолько проигрывают. Мда.
0
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
11.08.2011, 21:15 [ТС] | 30 |
Люди моя реализация быстра, только 1 тест не проходит. Кто нибудь может её просто отладить?
А то что мне предлагали исчерпывают лимит времени.
0
|
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
|
||||||
11.08.2011, 21:18 | 31 | |||||
Кто же думал, что вы на скорость тестируете. Вот вариант, с простыми числами тоже все вроде быстро.
0
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
11.08.2011, 21:32 [ТС] | 32 |
Olga_, этот вариант тоже исчерпывает лимит, я же писал, где-то он зависает. Проверь что у тебя выдаёт на тесте -1024. Твой ответ 1. А мой 5. -1024 это -4 в 5ой степени. Ошибка.
0
|
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
|
|
11.08.2011, 21:34 | 33 |
А как теперь?
Добавлено через 52 секунды Это новый вариант, вы приглядитесь, только что написала (переделала) код Быстрота есть, сейчас с -1024 поработаю.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
11.08.2011, 21:43 | 34 |
Ну, как-бы из первого поста это можно и заметить:
Ну да, пока быстрым выглядит. Если ошибок нет
0
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
11.08.2011, 21:43 [ТС] | 35 |
Всё! Засчитано! Тупая ошибка была! -2147483648 это отдельный случай выделить надо было, его модуля в типе Int нету. Вот она ошибочка где пряталась...
0
|
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
|
||||||
11.08.2011, 21:45 | 36 | |||||
Готово:
0
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
11.08.2011, 21:47 [ТС] | 37 |
Olga_, спс, моя тоже готова)))
0
|
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
|
||||||
11.08.2011, 21:50 | 38 | |||||
Можно и не выделять, а с 64 битами работать
Молодец, можете мою и вашу на скорость проверить
0
|
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
|
|
11.08.2011, 21:53 [ТС] | 39 |
0
|
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
|
|
11.08.2011, 21:56 | 40 |
Согласна, это гибрид. В принципе она под С++, функцию main() легко переделать, это же просто тестовый вариант
0
|
11.08.2011, 21:56 | |
11.08.2011, 21:56 | |
Помогаю со студенческими работами здесь
40
Точная проверка ПО на ошибки Flex точная ширина Точная копия DataSet Точная настройка ОС Android Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |