Составить программу pascal: - склеить две строки ‘язык’ и ‘программирования’ - подсчитать длину получившейся строки - в строке ‘программирование’ выделить фрагмент ‘мир’ - строку ‘бушлат’ заменить на строку ‘шлак’
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016 procedure GetProdNeg(a:array of integer; var p:real); // произведение отрицательных элементов begin p:=a.Where(x->x<0).Aggregate(1.0,(p,e)->p*e) end;
function IsPrime(n:integer):boolean:= Range(2,Round(sqrt(n))).All(i->n mod i<>0);
procedure ArrPrime(n:integer; var a:array of integer); // массив простых чисел не больших n begin a:=Range(2,n).Where(i->IsPrime(i)).ToArray end;
begin var n:=ReadInteger('n='); var a:=ArrRandom(n,-50,50); a.Println; var r:real; GetProdNeg(a,r); Writeln('Произведение ',r); n:=ReadInteger('n='); var b:array of integer; ArrPrime(n,b); b.Println end.
Максимальное число, составленное из утроенного произведения цифр будет 9*3*N - не может быть больше 54, т.е. N может быть только 1 или 2. По условию х>=10 -> N=2 (N -порядок числа). Поэтому искать нужно среди чисел от 11 до 54. Решение - число 15.
var n,m: integer; begin write('n = '); readln(n); if n=2 then begin m:=11; repeat if (m mod 10)*(m div 10)*3=m then begin writeln('число: ',m); m:=55; end; m:=m+1; until m>54; end else writeln('нет решения'); end.
s1,s2,s3,s4:string;
begin
s1:='язык';
s2:='программирования';
s3:='бушлат';
Write(s1,' + ',s2,' = ');
s4:=s1+s2;
Writeln(s4,' (длина равна ',Length(s4),')');
Writeln(Copy(s2,8,3));
Write(s3,' -> ');
s3:='шлак';
Writeln(s3)
end.
Результаты
язык + программирования = языкпрограммирования (длина равна 20)
мир
бушлат -> шлак