1) если нужно проверить может ли быть такое число a в данной системе счисления с основанием b, проверьте что все цифры a меньше основания b
т.е. 2358 не может являться числом в 4-ной СС
2)если вы перевели число a из десятичной СС в p-ичную, то для того, чтобы проверить, верно ли вы это сделали, просто переведите ее обратно в десятичную, и проверьте, получится ли то же число а.
Для того чтобы перевести число из p-ичной СС в десятичную, умножьте первую справа цифру на 1, вторую справа на p, третью на p², и т.д. умножая на степени p, а потом найдите сумму всего этого
Поделитесь своими знаниями, ответьте на вопрос:
Всистеме программирования pascal abc выполните проверяемое if4 для исполнителя робот(закрасить, клетку, провоположную стенестена может располагаться слева, сверху или снизу.
var
x1, x2, y1, y2, r1, r2, d, b, x3, x4, y3,y4,x,y, h, a: real;
begin
readln(x1, y1, r1, x2, y2, r2);
d := sqrt(sqr(x1 - x2) + sqr(y1 - y2));
if (d > r1 + r2) or (d < abs(r1 - r2)) then writeln('No intersection point')
else if (x1 = x2) and (y1 = y2) then if (r1 = r2) then writeln('Infinity') else writeln('No intersection point')
else begin
b := (r2 * r2 - r1 * r1 + d * d) * 0.5 / d;
a := d - b;
h := sqrt(abs(r1 * r1 - sqr(b)));
x := x1 + (x2 - x1) * a / d;
y := y1 + (y2 - y1) * a / d;
X3 := X - (Y - Y2) * H / B;
Y3 := Y + (X - X2) * H / B;
X4 := X + (Y - Y2) * H / B;
Y4 := Y - (X - X2) * H / b;
writeln(x3, ' ', y3);
if(x3<>x4)or(y3<>y4) then
writeln(x4, ' ', y4);
end;
end.