var a: array[1..10] of integer;
i,p: integer;
begin
randomize;
p:=1;
for i:=1 to 10 do begin
a[i]:=random(11)-5;
write(a[i],' ');
if a[i]<>0 then p:=p*a[i];
end;
writeln;
write('p=',p);
end.
Решение во вложении ниже
небольшие пометки:
1. писал в ABC.net паскале команда power(x,2) - возведение Х во 2 степень, если писать в других оболочках паскаля, возможно можно будет использовать запись x^2
2. Формула сферы (x-x0)²+(y-y0)²+(z-z0)² = R²
где x0, y0, z0 - координаты начала (т.к. у нас начало в центре получаются эти координаты 0 0 0) и получаем формулу сферы x²+y²+z²=R²
причем эта формула для поверхности сферы, по условию задачи нужно найти точки внутри сферы, поэтому ставим не =, а < (если же понадобятся еще точки лежащие на поверхности сферы, нужно из < сделать <=)
Var x,y:real;
begin
write('x, y:');
readln(x,y);
if (y<=-0.75*x*x+5)and(y>=x)and(y>=-x)
then writeln('Точка принадлежит заштрихованной области')
else writeln('Точка не принадлежит заштрихованной области');
end.
Пример:
<span>x, y:
2 1
Точка не принадлежит заштрихованной области</span>
DIM i AS INTEGER, s AS LONG
FOR i = 20 TO 40
s = s + i ^ 3
NEXT
PRINT "Сумма всех кубов от 20 до 40 = ";s
Разделим пазл на квадраты размера 2x2. Заметим, если в каком-нибудь квадрате Маша вынет хотя бы 3 кусочка, то гарантированно найдётся пара кусочков, которые можно состыковать. Значит, в худшем случае она вытащит не более половины всех кусочков, прежде чем появятся соседние. Как так может получиться, показано на рисунке.
Чтобы гарантированно найти пару кусочков, которые состыкуются правильно, ей надо вынуть 18 * 24 / 2 + 1 = 216 + 1 = 217 кусочков.