1 Составьте программу закрашивания буквы "П",размерами три клетки по вертикали и две по горизонтали .Начальное положение Робота-где -то в центре поля. 2-Необходимо перевести Робота из начального положения (*)в точку А за минимальное число шагов любым из возможных .(картинка прикреплена)
program raf105;
var a:array[1..8] of real;
i,n:integer;
x:real;
begin
write('Введите номер билета: ');
readln(x);
n:=8;
for i:=1 to 8 do
begin
n -= 1;
if i=1 then
a[i]:= trunc(x / (10**7))
else if i=8 then
a[i]:= round(frac(x / 10)*10)
else
a[i]:= round(frac((trunc(x / (10**n))) / 10)*10);
end;
if a[1]+a[2]+a[3]+a[4]=a[5]+a[6]+a[7]+a[8]
then writeln('Номер билета является счастливым')
else writeln('Номер билета не является счастливым');
end.
2 вариант (с использованием типа string)program raf105;
var a:array[1..8] of integer;
i:integer;
x:string;
begin
write('Введите номер билета: ');
readln(x);
for i:=1 to 8 do
a[i]:= ord(x[i])-48;
if a[1]+a[2]+a[3]+a[4]=a[5]+a[6]+a[7]+a[8]
then writeln('Номер билета является счастливым')
else writeln('Номер билета не является счастливым');
end.
Язык PascalABC
2³ = 3 + 5
3³ = 7 + 9 + 11
4³ = 13 + 15 + 17 + 19
Заметим что во втором выражении первое число(7) получается как 3*(3-2)+1
В третьем аналогично: 13 получается как 4*(4-1)+1
Получаем формулу для первого значения: x1 = n*(n-1)+1
Остальные числа получаются путём прибавления 2 к предыдущему слагаемому. Так же заметим что число слагаемых равно числу которое мы возводим в степень.
x = int(input("Введите число: "))
xn = x * (x - 1) + 1
rezultat = xn
while (x != 1):
xn += 2
rezultat += xn
x -= 1
print("Результат возведения в 3 степень:", rezultat)