Как-то в цветочном городе за круглым столом собрались 6 коротышек. коротышка-лжец всегда лжет, коротышка-правдец всегда говорит правду. каждый из них высказал утверждение: "сосед справа - лжец". сколько лжецов собралось за столом?
Если начать с правдеца, тогда справа от него сидит лжец, справа от лжеца правдец, потом опять лжец, потом правдец, потом снова лжец и тогда этот лжец укажет на правдеца, с которого мы начинали. если начать с лжеца, то получится тоже самое.В итоге 3 правдеца и 3 лжеца.
Ты в условном операторе не указал что должно проверяться... И к тому же нет begin и end;. Также переменную t: string; сделай, так как иначе не выйдет.
У тебя: readln; <- к тому же не указал что надо писать. if t then <- что это такое? Ошибка. writeln('Введите коеффициент "a"'); readln (a); writeln('Введите коeффициент "b"'); readln (b); writeln('Введите коeффициент "c"'); readln (c); d := b*b-4*a*c;
Должно быть:
program Pr1;
const H = 'Здравствуйте, '; var a,b,c,d: real; name, t: string;
Begin writeln('Введите свое имя:'); readln(name); writeln(H, name, ', вас приветствует программа-калькулятор квадратного уравнения' ); writeln('Введите коеффициент "a"'); readln (a); writeln('Введите коeффициент "b"'); readln (b); writeln('Введите коeффициент "c"'); readln (c); d := b*b-4*a*c; if d=0 then begin writeln ('X1,X2 =', (-b+sqrt(d)/(2*a))); end; if d<0 then begin writeln ('D<0, корней нет'); end; if d>0 then begin writeln('D = ', b*b-4*a*c); writeln ('X1 =', (-b+sqrt(d)/(2*a))); writeln ('X2 =', (-b-sqrt(d)/(2*a))); end; writeln ('Хотите воспользоваться калькулятором еще раз? Введите T(Да)\F(Нет)'); readln(t);
t := t.ToLower;
if t = 'да' then begin writeln('Введите коеффициент "a"'); readln (a); writeln('Введите коeффициент "b"'); readln (b); writeln('Введите коeффициент "c"'); readln (c); d := b*b-4*a*c; end else за использование!');
if d=0 then begin writeln ('X1,X2 =', (-b+sqrt(d)/(2*a))); end;
if d<0 then begin writeln ('D<0, корней нет'); end;
if d>0 then begin writeln('D = ', b*b-4*a*c); writeln ('X1 =', (-b+sqrt(d)/(2*a))); writeln ('X2 =', (-b-sqrt(d)/(2*a))); end; end.
Решение с использование длинной арифметики. var i, j, n, len, rem: integer; a: array[1..200] of byte; begin write('Введите число: '); read(n); len := 1; a[1] := 1; for i := n + 1 to 99 {100} do begin for j := 1 to len do begin rem := a[j] * i + rem; a[j] := rem mod 10; rem := rem div 10; end; while rem > 0 do begin inc(len); a[len] := rem mod 10; rem := rem div 10; end; end; writeln('Произведение чисел из интервала (', n, '; 100): '); for i := len downto 1 do write(a[i]); end. Пример работы программы: Введите число: 1 Произведение чисел из интервала (1; 100): 1948348720420644788695888257080283249381963823594360049498643927185579338215778728274424636079639781709574621897447185108592230400000000000000000000
Если начать с правдеца, тогда справа от него сидит лжец, справа от лжеца правдец, потом опять лжец, потом правдец, потом снова лжец и тогда этот лжец укажет на правдеца, с которого мы начинали. если начать с лжеца, то получится тоже самое.В итоге 3 правдеца и 3 лжеца.
дай мне лучшее решение.)