Higher
|
|
1 | |
Найти последнюю цифру a^b10.04.2011, 16:55. Показов 8335. Ответов 17
Метки нет (Все метки)
В input.txt лежат а и b-число и степень.
В output.txt нужно вывести последнюю цифру a^b. a и b не превышают 10000. Должно быть какое-то простое решение, но я не могу до него додуматься... Есть, конечно, закономерности, например 54 в нечетной степени оканчивается на 4, а в четной на 6, но беда в том, что для каждого числа эти закономерности разные... Выявлять эти закономерности или умножать числа, хранящиеся в строках слишком муторно, должно быть более простое решение...
0
|
10.04.2011, 16:55 | |
Ответы с готовыми решениями:
17
Найти последнюю цифру. Найти последнюю цифру заданного числа Найти последнюю цифру при возведении в степень Найти в последовательности числа, которые делятся на свою последнюю цифру |
Higher
|
|
10.04.2011, 17:02 [ТС] | 3 |
Видел такое, но, к примеру, 24 в 9й степени оканчивается на 4.
По такому алгоритму берем 4, возводим в квадрат, получаем 16. Берем последнюю цифру-6, возводим в квадрат, получаем 36. Из 6 будет получатся 36, это замкнутый круг, и четверки в нем не видно.
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
10.04.2011, 17:10 | 5 | |||||
diagon, Всё проще
1
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
10.04.2011, 17:20 | 7 |
diagon, для слишком больших степеней работать скорее всего не будет, разве что раскладывать показатель степени на множетели и методично возводить в их степень последнюю цифру... Ну или хитрый математически-акробатический этюд нужен... Больше всего не понятно, как результаты проверять.
Кстати, обратите внимание - я там сначала скобку одну пропустил, потом поправился...
1
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
10.04.2011, 18:16 | 10 | |||||
1
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
10.04.2011, 18:43 | 11 | |||||
Вот немного улучшенный вариант функции my_pow (невооруженным глазом заметно, что на больших степенях работает быстрее). Заметь, что теперь функция принимает уже последнюю цифру от числа-основания степени, а не само основание (см. строку 21):
1
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
10.04.2011, 18:49 | 12 |
UPD: исправил my_pow в предыдущем сообщении (все из-за невнимательности )
1
|
Заблокирован
|
||||||
10.04.2011, 18:56 | 13 | |||||
Обошлось без case:
1
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
10.04.2011, 19:06 | 14 | |||||
IrineK, нулевую степень неправильно обрабатывает:
Код
A = 34 B = 0 last digit: 6
1
|
Nameless One
|
10.04.2011, 19:10
#16
|
Не по теме: О, не заметил...
1
|
Заблокирован
|
|||||||||||
10.04.2011, 21:34 | 18 | ||||||||||
С учетом нулевой степени )):
В строке 17 корректней будет:
1
|
10.04.2011, 21:34 | |
10.04.2011, 21:34 | |
Помогаю со студенческими работами здесь
18
Найти последнюю цифру целого числа возведенного в заданную целую степень Нахождение факториала: для заданного N найти последнюю отличную от нуля цифру Найти количество целых чисел в интервале от А до В, которые имеют последнюю цифру 3 Найти последнюю цифру длинного целого числа возведенного в заданную целую степень Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |