// 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;
1. a:=10; b:=20; c:=30; 2. При write(a) - выведется на экран просто значение а; При write('a') - выведется просто буква "а"; При write('a=', a) - выведется на экран, например: a=10 3. Чтобы вывести на экран число с фиксированной запятой нужно написать write(a:0:3). a - должна быть вещественного типа. 3 - означает три знака после запятой, поэтому если у вас число 1.2758234, то будет выведено на экран 1.275
4. a = 1; b = 11;
5.
program pl; var a, b : integer; s, p : real; begin writeln("Введите первую сторону прямоугольника:"); readln(a); writeln("Введите вторую сторону прямоугольника:"); readln(b); p = 2*(a+b); s = a*b; writeln("Площадь прямоугольника равна:", s); writeln("Периметр прямоугольника равен:", p); end.
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;
a:=10;
b:=20;
c:=30;
2.
При write(a) - выведется на экран просто значение а;
При write('a') - выведется просто буква "а";
При write('a=', a) - выведется на экран, например: a=10
3. Чтобы вывести на экран число с фиксированной запятой нужно написать write(a:0:3). a - должна быть вещественного типа. 3 - означает три знака после запятой, поэтому если у вас число 1.2758234, то будет выведено на экран 1.275
4.
a = 1;
b = 11;
5.
program pl;
var
a, b : integer;
s, p : real;
begin
writeln("Введите первую сторону прямоугольника:");
readln(a);
writeln("Введите вторую сторону прямоугольника:");
readln(b);
p = 2*(a+b);
s = a*b;
writeln("Площадь прямоугольника равна:", s);
writeln("Периметр прямоугольника равен:", p);
end.