Паскаль цикл со счетчиком. 1)даны трёхзначные натуральные числа n и k (n < k). из чисел от n до k найти все, запись которых содержит ровно две одинаковые цифры. например, числа 266, 661, 767, 776 – содержат ровно 2 одинаковые цифры. 2)дано два целых положительных числа a и n, вводимых с клавиатуры (выполнить проверку на выполнения данного условия). найти a^n и n^a.
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
Задание №1
var
a, b, i, s1, s2, s3,k: integer;
begin
a := readinteger('Введите первое трехзначное число');
b := readinteger('Введите второе трехзначное число');
for i := a to b do
begin
k:=0;
s1 := i mod 10; k:=1;
s2 := (i div 10) mod 10;
if s2=s1 then k:=k+1;
s3 := (i div 100)mod 10;
if s3=s1 then k:=k+1;
if k = 2 then println(i);
end;
end.
Тестовое решение:
Введите первое трехзначное число 100
Введите второе трехзначное число 200
100
101
121
122
131
133
141
144
151
155
161
166
171
177
181
188
191
199
200
Задание №2
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
var a,b,n:integer;
p:biginteger;
begin
repeat
a:=readlninteger('Введите a');
n:=readlninteger('Введите n');
until (a>0) and (n > 0);
p:=1;
for var i:=1 to n do begin
p:=p*a;
end;
println(a, 'в степени', n,' = ',p);
p:=1;
for var i:=1 to a do begin
p:=p*n;
end;
println(n, 'в степени', a,' = ',p);
end.
Тестовое решение:
Введите a
2
Введите n
3
2 в степени 3 = 8
3 в степени 2 = 9