Найти тему

Задача 3. Пятью пять - двадцать пять!

Сегодня рассмотрим одну из самых лёгких задач с сайта acmp.ru

Познавательная задача, в условии которой описан прекрасный способ возводить в квадрат числа, оканчивающиеся на 5. К тому же, эта задача помогает наглядно показать переполнение стандартного типа данных int (и аналогичных ему).

К сожалению, тесты и ограничения к этой задаче не меняются со временем, а компьютеры и языки программирования развиваются, поэтому задачу теперь можно решить без применения хитрого способа возведения в квадрат, а просто используя более вместительные типы данных (или современные языки программирования).

Для решения на языке C++ пригодится тип данных long long:

Решение на С++ с использованием типа данных long long
Решение на С++ с использованием типа данных long long

На языке Python вообще ничего специального использовать не надо: просто берём и умножаем число само на себя:

Решение на языке Python
Решение на языке Python

Но давайте, всё же, разберёмся в условии задачи и напишем "как положено":

Каноническое решение на С++
Каноническое решение на С++

В этом решении следует обратить внимание на два момента:

  1. отбрасывание последней цифры целочисленным делением на 10 в строке 8,
  2. обход подводного камня задачи (что ответ надо выводить без лидирующих нулей) с помощью тернарного оператора.

Предыдущий выпуск: Задача 713. Булева функция

Я очень хочу, чтобы мои советы были полезны вам, а для того, чтобы быстрее всех получать новые статьи можно подписаться на мой канал.