Я, в основном, программы на С++ пишу, но из школы про Паскаль кое-что помню (в смысле, попытаюсь написать на Паскале).
Program A1;
var a,b,c,i:integer;
begin
write('Enter the a: ');
read(a);
writeln('Enter the b: ');
read(b);
с:=0;
for i:=1 to a Do
c:=c+b;
writeln('a*b=',c:5:0);
end.
Объясняю (начинаю сразу с цикла for): что значит произведение двух натуральных чисел а и b - это означает, сложить b с самим собой по а раз (можно и наоборот). Например, a=5, b=3. Переменную с=0 будем складывать с b.
i=1 c=5+0;
i=2 c=5+5;
i=3 c=10+5; //c=15
Вот и есть ответ: 5*3=15.
Ультра тонкий дизайн. с 8 ядер процессором. оперативной памятью 16 гиг. full HD или 4k изображения.
ПО system of people brain. SPB. система как мозг человека
PROGRAM Power_Long;
var
i:byte; // счетчик
si, so:string; // числа в виде строк
power:byte; //показатель степени
function readFile(filename:string):string;
var f:text;
s:string;
begin
assign(f,filename); Reset(f);
readln(f,s);
readln(f,power);
close(f);
readFile := Trim(s);
end;
function multiplyLong(s1:string; s2:string):string;
var
i,j,k,l:byte; //счетчики
z:boolean; //
A,B,T,R:array [0..100] of byte; //массивы
carry:byte; //перенос при умножении и суммировании
rt:string;//результат
begin
// первая строка чисел в массив
l:=Length(s1);
// A := new byte[l+1];
A[0]:=l; //количество
for i:=l downto 1 do
A[l-i+1]:=ord(s1[i]) - 48;
// вторая строка чисел в массив
k:=Length(s2);
// B := new byte[k+1];
B[0]:=k; //количество
for i:=k downto 1 do
B[k-i+1]:=ord(s2[i]) - 48;
i:=l+k; // 999*9999=9989001, т.е. максимум 7знаков
// R := new byte[i+1]; //массив с результатом
R[0]:=i;//количество
// T := new byte[i+1];//temp - произведение A на один знак из B
for i:=1 to A[0] do begin
//T := умножение A на один знак из B
carry:=0;
for j:=1 to B[0] do begin
k:= A[i] * B[j] + carry;
carry := k div 10;
T[j]:= k mod 10;
end;
j:=j+1;
T[j]:=carry;
T[0]:=j;
// прибавление T к результату R
carry:=0;
for j:=1 to T[0] do begin
k := T[j] + R[j+i-1] + carry;
carry := k div 10;//перенос
R[j+i-1] := k mod 10;
end;
end;
rt:='';
z:=false;//проверка на ведущие нули
for i:= R[0] downto 1 do begin
if (R[i]>0) then begin
rt := rt + R[i];
z:=true;//все последущие нули надо добавить в число
end else
if (R[i]=0) and z then
rt := rt + R[i];
end;
multiplyLong := rt;
end;
BEGIN
si := readFile('input.txt');
so := multiplyLong(si, si); //возвели во вторую степень
// возведение в степень от 3 и выше умножением
for i:=3 to power do begin
so := multiplyLong(si, so);
end;
writeln( si, '^',power,' = ',so );
END.
Это если использовать ТОЛЬКО шаги "вперед 3" и "назад 2"
х+3-2+3-2=10
х+2=10
х=10-2
х=8
Ответ: Кузнечик вышел из точки 8
В) Так как расширение не может быть уникальным,а полное имя файла собственное имя+ расширение.