С Новым годом! Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25

Найти цифру, на которую оканчивается число A^B

31.03.2025, 10:39. Показов 3599. Ответов 20

Студворк — интернет-сервис помощи студентам
Требуется написать программу, которая находит цифру, на которую оканчивается число A^B
1 ≤ A,B ≤ 10000
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2025, 10:39
Ответы с готовыми решениями:

Найти цифру, на которую оканчивается число a^b
Требуется написать программу, которая находит цифру, на которую оканчивается число a^b. Входные данные: Входной поток состоит из...

Найти в файле цифру на которую оканчивается число A^B
это задача на файлы. Требуется написать программу, которая находит цифру, на которую оканчивается число A^B.

Найти число элементов, которые начинаются с той же буквы, на которую оканчивается первый элемент
Задайте строковый массив.Определите и выведите на экран кол-во элементов,которые начинаются с той же буквы,на которую оканчивается первый...

20
 Аватар для agvego5
45 / 37 / 9
Регистрация: 18.09.2023
Сообщений: 254
31.03.2025, 11:27
Цитата Сообщение от ohio Посмотреть сообщение
цифру, на которую оканчивается число A^B
1 ≤ A,B ≤ 10000
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function GetLastDigitOfPower(A,B: integer): integer;
begin
  if B = 0 then Result := 1
  else begin
    var lastDigitCycle: List<integer> := [];
    var currentBase := A mod 10; 
      repeat
      lastDigitCycle.Add(currentBase);
      currentBase := (currentBase * A) mod 10;
      until lastDigitCycle.Contains(currentBase);
 
    var cycleLength := lastDigitCycle.Count;
    var index := (B - 1) mod cycleLength;
    Result := lastDigitCycle[index];
  end;
end;
 
begin
  var base:=ReadInteger('Введите A (1 ≤ A ≤ 10000): ');
  var exponent:=ReadInteger('Введите B (1 ≤ B ≤ 10000): ');
 
  if not (base in 1..10000) or not (exponent in 1..10000) then
  begin
    WriteLn('A и B должны быть в диапазоне от 1 до 10000.');
    Exit;
  end;
 
  var lastDigit := GetLastDigitOfPower(base, exponent);
  WriteLn($'Последняя цифра числа {base}^{exponent} равна: {lastDigit}');
end.
0
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25
31.03.2025, 12:09  [ТС]
на школе программиста кидаю этот код но пишет ошибка компиляции хотя в паскале все работает я и весь текст лишний убрал не помогло

Добавлено через 4 минуты
Цитата Сообщение от agvego5 Посмотреть сообщение
WriteLn($'Последняя цифра числа {base}^{exponent} равна: {lastDigit}');
end.
зачем тут знак доллара и зачем он используется
0
 Аватар для agvego5
45 / 37 / 9
Регистрация: 18.09.2023
Сообщений: 254
31.03.2025, 12:19
Цитата Сообщение от ohio Посмотреть сообщение
на школе программиста кидаю этот код но пишет ошибка компиляции
вероятно старая версия там потому что
Начиная с версии 3.10.3, сборка 3602 от 25.01.2025 можно создать пустой список, описав его тип и инициализировав значением пустой коллекции [ ].
var L: List<integer> := [];

Цитата Сообщение от ohio Посмотреть сообщение
зачем тут знак доллара и зачем он используется
Интерполированная строка – это объединение строки составного формата и списка объектов, подлежащих преобразованию в строковое представление. Она представляет собой литерал, содержащий интерполированные выражения, перед которым записан символ $. Интерполированное выражение очень похоже на элемент форматирования строки составного формата: оно так же заключается в фигурные скобки и содержит описание формата данных, только вместо индекса подлежащего форматированию выражения указывается само это выражение. Интерполированные строки обычно короче и нагляднее строк составного форматирования. Интерполированная строка имеет тип string и с ней можно работать, как с любой другой строкой.
1
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25
31.03.2025, 12:27  [ТС]
фиксани код плиз для старой версии
а то вообще в таком коде из всяких разных сложных
команд я не силен
0
 Аватар для agvego5
45 / 37 / 9
Регистрация: 18.09.2023
Сообщений: 254
31.03.2025, 12:33
Цитата Сообщение от ohio Посмотреть сообщение
фиксани код плиз для старой версии
может пусть лучше версию обновят?
Pascal
1
2
3
  WriteLn($'Последняя цифра числа {base}^{exponent} равна: {lastDigit}');
  //эквивалент
  WriteLn('Последняя цифра числа ', base, '^', exponent, ' равна: ', lastDigit);
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
01.04.2025, 18:50
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

agvego5,
возможно, лучше так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function PowerLastDigit(a, b: Integer): Integer;
begin
  Result:=1;
  while b>0 do 
    if Odd(b) then begin
      Result:=Result*a mod 10;
      Dec(b);
    end else begin
      a:=Sqr(a) mod 10;
      b:=b div 2;
    end;
end;
а еще лучше так:
Pascal
1
2
3
4
5
6
function PowerLastDigit(a, b: Integer): Integer;
begin
  Result:=1;
  for b:=0 to (b-1) mod 4 do
    Result:=Result*a mod 10;
end;
2
 Аватар для agvego5
45 / 37 / 9
Регистрация: 18.09.2023
Сообщений: 254
01.04.2025, 20:35
Цитата Сообщение от bormant Посмотреть сообщение
возможно, лучше так:
да это отличный вариант
Цитата Сообщение от bormant Посмотреть сообщение
а еще лучше так:
и это работает

должно на школе программиста сработать - только я не знаю адрес сайта
пусть ТС пробует
1
 Аватар для agvego5
45 / 37 / 9
Регистрация: 18.09.2023
Сообщений: 254
02.04.2025, 09:19
Цитата Сообщение от agvego5 Посмотреть сообщение
отличный вариант
Добавлено через 7 минут
Цитата Сообщение от bormant Посмотреть сообщение
Result:=a mod 10*Result;
наоборот только
Result := (a * Result) mod 10; // Умножаем на последнюю цифру a и берем модуль 10
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
02.04.2025, 13:32
угу, поменял выше, попало из экспериментов ;-).

Добавлено через 4 минуты
Ну и для a: 1..10000 в првом варианте можно a:=a mod 10; перед циклом убрать, т.к. Sqr(a) переполнения не вызовет.
1
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
03.04.2025, 11:31
Лучший ответ Сообщение было отмечено Cyborg Drone как решение

Решение

Pascal
1
2
3
4
5
6
7
8
function PLD(const a, b: integer): byte;
type
  ar=array[0..9, 0..3] of byte;
const
  D:ar=((0,0,0,0),(1,1,1,1),(6,2,4,8),(1,3,9,7),(6,4,6,4),(5,5,5,5),(6,6,6,6),(1,7,9,3),(4,8,4,8),(1,9,1,9));
begin
  PLD := D[a mod 10, b mod 4];
end;
Там ещё можно побаловаться с массивом Word'ов и shr/shl, но это изврат какой-то.
2
100 / 74 / 21
Регистрация: 12.04.2017
Сообщений: 269
25.04.2025, 05:50
Лучший ответ Сообщение было отмечено ohio как решение

Решение

Pascal
1
2
3
##
var (a, b) := ReadInteger2;
BigInteger.ModPow(a, b, 10).Print
3
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25
06.10.2025, 13:20  [ТС]
напишите ответ короче чем

Pascal
1
2
3
## 
var(a,b):=ReadInteger2;
BigInteger.ModPow(a,b,10).Print
можно ли уместить в 40 символов?
0
100 / 74 / 21
Регистрация: 12.04.2017
Сообщений: 269
06.10.2025, 16:01
Pascal
1
### var(a,b):=RI2;BI.ModPow(a,b,10).Pr
С Пайтоном соревнуетесь, что-ли?
1
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25
10.10.2025, 09:57  [ТС]
А еще короче никак? просто люди в 19 символов пишут
0
100 / 74 / 21
Регистрация: 12.04.2017
Сообщений: 269
10.10.2025, 13:34
Возможно алгоритм иной или язык.
Если ты бегун, это еще не значит, что тебе стоит соревноваться в беге в мешках
0
Модератор
10378 / 5665 / 3399
Регистрация: 17.08.2012
Сообщений: 17,308
10.10.2025, 17:55
Цитата Сообщение от ohio Посмотреть сообщение
люди в 19 символов пишут
ohio, а зачем? Из спортивного интереса? Ну, пусть пишут, Вам-то что?
0
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25
13.10.2025, 13:25  [ТС]
чисто из интереса как можно настолько короткие решения писать к задачам
0
100 / 74 / 21
Регистрация: 12.04.2017
Сообщений: 269
13.10.2025, 15:24
Изучайте APL Айверсона - будете короткий код писать.
0
0 / 0 / 0
Регистрация: 13.03.2025
Сообщений: 25
27.10.2025, 10:13  [ТС]
Цитата Сообщение от Alvico Посмотреть сообщение
APL Айверсона
вопрос а как его в паскаль то переносить? не понял ничего, кроме того что к нему нужна специальная клавиатура
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2025, 10:13
Помогаю со студенческими работами здесь

Дано число. Определить, оканчивается ли данное число на цифру 7
4. Дано число. Определить, оканчивается ли данное число на цифру 7.

Оканчивается ли число на цифру 7
Дано число. Определить, оканчивается ли данное число на цифру 7

С помошью множеств определить букву, на которую оканчивается третье слово
решите Пожалуйста задачу с помошью множеств найти на какую букву оканчиваеться третье слово

Проверить, начинается ли каждый из членов последовательности с цифры, на которую оканчивается предыдущий
Проверить, начинается ли каждый из членов последовательности с цифры, на которую оканчивается предыдущий

Найти и вывести номер последнего элемента массива, который оканчивается на цифру 3
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от -100 до 100. Опишите на русском языке или на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru