Считаем, что в нашей реализации языка Pascal нет готовой функции для арксинуса и опишем арксинус на основе известного тригонометрического соотношения:
Тогда
Область допустимых значений: |c|<1, a≠0
function arcsin(x: real): real;
begin
arcsin := arctan(x / sqrt(1 - sqr(x)))
end;
var
a, b, c, x: real;
begin
Write('Введите через пробел значения a,b,c: ');
Readln(a, b, c);
if (c >= 1) then Writeln('Решения нет, c>=1')
else if a = 0 then Writeln('Решения нет, a=0)')
else Writeln('x=', arcsin(c) / sqrt(1 - sqr(x)):0:5)
end.
Тестовое решение:
Введите через пробел значения a,b,c: 3.25 -1.7 0.146
x=0.14652
2^6 = 64
так как один бит может быть 0 или 1
<u>PascalABC.NET 3.3.5, сборка 1648 от 31.03.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var (x,y):=ReadReal2('x,y=');
Writeln((Sin(x)+cos(y))/(Cos(x)-Sin(y))*Tan(x*y))
end.
10 бит, 2 байта, 20 бит, 1010 байт, 1 кбайт.
2^4=16
следовательно один символ весит 4 бита
3кбайта =3*8*1024=24576 бит
24576/4=<u><em>6144 символов в сообщении </em></u>