• 2. Мы привыкли, что числа записываются в арабской или индий-ской цифровой символике. Но есть еще и римская система за-писи чисел. Она состоит из следующих символов. I – единица, IV – четверка, V – пятерка, IX – девятка, X – десятка, XL – сорок, L – пятьдесят, XC – девяносто, C – сто, CD - четыре-ста, D – пятьсот. Наконец, CM – девятьсот, M – тысяча. С консоли вводится число в арабской форме записи. Программа переводит его в римскую форму.
    3. Программа решает уравнение вида , exp(-x)=ax  где параметр уравнения вводится с клавиатуры.
    4. Введенное с клавиатуры целое число программа переводит в восьмеричную систему счисления.

Ответы 1

  • {1}const s:string = 'IVXLCDM';var x,i,l,k:integer;begin read(x); {x < 4000} l := 1000; i := 4; for i := 4 downto 1 do   begin   k := x div l mod 10;   if k = 9 then     write(s[i*2-1],s[i*2+1])   else   if k = 4 then     write(s[i*2-1],s[i*2])   else     begin     if k >= 5 then       begin       write(s[i*2]);       k := k - 5       end;     for k := k downto 1 do       write(s[i*2-1])     end;   l := l div 10   endend.{2}const eps = 1e-10; stp = 500;var a: real; l,r,m: real; extreme: real;function f(x:real):real;begin f := a*x - exp(-x)end;begin read(a); if a = 0 then   writeln('No solutions') else if a > 0 then   begin   l := 0;   r := stp*2;   while f(r) <= 0 do     begin     l := l + stp;     r := r + stp     end;   while r - l > eps do     begin     m := (l + r)/2;     if f(m) > 0 then       r := m     else       l := m     end;   m := (l + r) / 2;   writeln('Solution: ',m:0:5);   writeln('e^-x = ',exp(-m):0:5);   writeln('ax = ',a*m:0:5)   end else   begin   extreme := ln(-1/a);   if f(extreme) < 0 then     writeln('No solutions')   else   if f(extreme) = 0 then     writeln('Solution: ',extreme)   else     begin     {writeln('Extreme: ',extreme);}          l := extreme;     r := 0;     while r - l > eps do       begin       m := (l + r)/2;       if f(m) < 0 then         r := m       else         l := m       end;     m := (l + r) / 2;     writeln('Solution 1: ',m:0:5);     writeln('e^-x = ',exp(-m):0:5);     writeln('ax = ',a*m:0:5);     writeln;          r := extreme;     l := r - stp*2;     while f(l) > 0 do       begin       l := l - stp;       r := r - stp       end;     while r - l > eps do       begin       m := (l + r)/2;       if f(m) > 0 then         r := m       else         l := m       end;     m := (l + r) / 2;     writeln('Solution 2: ',m:0:5);     writeln('e^-x = ',exp(-m):0:5);     writeln('ax = ',a*m:0:5)           end   endend.{3}var c: array [1..12] of 0..7; x,i,k: integer;begin read(x); k := x; i := 0; repeat   i := i + 1;   c[i] := k mod 8;   k := k div 8 until k = 0; for i := i downto 1 do   write(c[i])end.
    • Автор:

      goose29
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years