В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
алгебра107
алгебра107
18.01.2023 01:27 •  Информатика

Зарина делает 3D-модель геометрической фигуры, как показано на рисунке ниже, определи, какая фигура получится у Зарины
конус
пирамида
параллепипед
призма​


Зарина делает 3D-модель геометрической фигуры, как показано на рисунке ниже, определи, какая фигура

Показать ответ
Ответ:
Lagunahey
Lagunahey
20.08.2021 13:36

1)

var

  str : string;

begin

  readln (str);

  writeln (length (str) - pos (':', str));

end.

 

2)

var

  str, s : string;

  count, i : integer;

begin

  readln (str);

  s := copy (s, pos ('(', str) + 1, pos (')', str) - pos ('(', str) - 1);

  count := 0;

  for i := 1 to length (s) do

    if s[i] = ' ' then inc (count);

  writeln (count + 1);

end.

 

3)

var

  str : string;

  count : integer;

begin

  readln (str);

  count := 0;

  while pos (',', str) > 0 do

  begin

    inc (count);

    delete (str, pos (',', str), 1);

  end;

  writeln (str);

  writeln (count);

end.

 

Сделано без проверки на соответствие условию.

0,0(0 оценок)
Ответ:
hanter13
hanter13
19.11.2022 19:30

var

k : byte;
arr : array of int64;
function Fn (c : byte) : int64;
begin
if arr[c - 1] <> 0 then
begin
Fn := arr[c - 1];
exit;
end;
if c < 3 then Fn := 1
else Fn := Fn (c - 1) + Fn (c - 2);
arr[c - 1] := Result;
end;

begin
read (k);
setlength (arr, k);
writeln (Fn (k));
end.

var
n : byte;
arr : array of int64;

tmp : int64;
function Fn (c : byte) : int64;
begin
if arr[c - 1] <> 0 then
begin
Fn := arr[c - 1];
exit;
end;
if c < 3 then Fn := 1
else Fn := Fn (c - 1) + Fn (c - 2);
arr[c - 1] := Result;
end;

begin
read (n);
setlength (arr, n);
tmp :=  (Fn (n));

tmp := 0;

for i := 1 to n do

  tmp := (tmp + arr[i]) mod 2;

if tmp = 1 then writeln ('No') else writeln ('Yes');

end.

 

Это нисходящее динамическое программирование. В массиве Arr храняится сами числа. Рекурсивная функция Fn (n) возвращает N-ое число. В б) мы сначала просчитываем n чисел (то есть считаем число n, так как для него нужны все предыдущие), а потом ищем их сумму. Так как числа могут быть большими, то мы берем сразу их остаток от деления 2 во избежание преполнения.

 

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота