В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Sobennikovoleg
Sobennikovoleg
11.05.2022 00:13 •  Информатика

Используя функцию найти все автоморфные числа из промежутка от a до b. автоморфные числа-когда квадрат это числа оканчивается на само себя.например 6^2=36(заканчивается на 6)

Ответ:
WhiteAlex
WhiteAlex
24.09.2020 12:58
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
function AutoMorph(n:integer):boolean;
begin
  var s1:=n.ToString;
  Result:=(s1=(n*n).ToString.Right(s1.Length))
end;

begin
  var a,b:integer;
  Write('Введите а и b: '); Read(a,b);
  for var i:=a to b do
    if AutoMorph(i) then Print(i)
end.

Тестовое решение:
Введите а и b: 1 10000
1 5 6 25 76 376 625 9376

Попробовал переписать функцию в более примитивный вид. По-моему, она не стала проще, только удлинилась...

function AutoMorph(n:integer):boolean;
begin
  var s1:=IntToStr(n); // n переводим в строковое представление
  var s2:=IntToStr(n*n); // n*n переводим в строковое представление
  var l1:=Length(s1); // длина строки s1
  s2:=RightStr(s2,l1); // правые l1 символов из s2
  Result:=(s1=s2)
end;
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?