IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задачка, на математическую логику
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Помогите, пожалуйста, решить вот такую задачу: Даны целые числа n и k. Найти младшую цифру числа n в степени k (число n в степени k может и не вмещаться в числовую переменную).

Сообщение отредактировано: starmaster -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Код
program n_k;

var
 n, k, r: Integer;

begin
 Write('n>');
 Readln(n);
 Write('k>');
 Readln(k);
 r := 1;
 while k > 0 do
   begin
     r := LongInt(r) * n mod 10;
     Dec(k);
   end;
 Write('Младшая цифра: ', r);
end.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






starmaster
Ну, для того, чтобы узнать только последнюю (младшую) цифру результата, не обязательно возводить в степень k все число n. Достаточно возвести "n mod 10" в степень k (то есть последнюю цифру n). Ну а дальше все просто:
N^(Р*K) = (N^K)^Р, то есть достаточно показатель степени (К) разложить на простые множители, и каждый раз последнюю цифру результата возводить в требуемую степень...

Пример:
Найти последнюю цифру 4^24...
24 = 2*2*2*3 => 4^24 = (4^2)^2^2^3
4^2 = 16 ; берем последнюю цифру (6)
6^2 = 36 ; (6)
6^2 = 36 ; (6)
6^3 = 216; (6)
то есть последняя цифра 4^24 должна быть равна 6...
Проверяем: 4^24 = 281474976710656

Я думаю, проблем с реализацией не возникнет... ;)

xds sad.gif Уже всё решили....

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Конечно спасибо большое! Предыдущее условие мне нужно было для задачки, которую я изложу ниже. Я и сам смогу решить, просто объясните, пожалуйста, условие:

Дано число N, в котором не менее 2 цифр. Найти разность числа, составленного из 2-х старших цифр и числа, составленного из 2-х младших цифр.
Вход
В первой строке входа дано число N (целое число)
Выход
В первую строку выхода вывести результат
Пример
Вход:

693
Выход:

-24
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






starmaster
Объясните, пожалуйста 2 момента:

1. Неясно каким образом эта задача связана с вышеописанной.
2. (6 - 94) никак не равно (-24). Мало того, с этими цифрами вообще нельзя получить (-24) в любой перестановке.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.09.2025 20:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name