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

На c# в массиве a=(a1, а2, аn)все положительные элементы, стоящие перед минимальным положительным элементом, переслать в «хвост» массива

Показать ответ
Ответ:
demoplus1
demoplus1
13.08.2020 20:09
Представим куб в виде графа его каркаса. Пронумеруем все вершины куба цифрами от 1 до 8. Задача сводится к обычному обходу в ширину. Для четных N ответ будет 0, т.к. нельзя дойти на противоположную вершину за четное кол-во шагов. ответ будет расти в геометрической прогрессии в зависимости от N. Программа:

const
  m: array[1..8, 1..8] of byte = 
 ((0, 1, 1, 1, 0, 0, 0, 0),
  (1, 0, 0, 0, 1, 0, 1, 0),
  (1, 0, 0, 0, 1, 1, 0, 0),
  (1, 0, 0, 0, 0, 1, 1, 0),
  (0, 1, 1, 0, 0, 0, 0, 1),
  (0, 0, 1, 1, 0, 0, 0, 1),
  (0, 1, 0, 1, 0, 0, 0, 1),
  (0, 0, 0, 0, 1, 1, 1, 0));
  
var
  n, i, j, k: integer;
  a: array[0..100, 1..8] of int64;
begin
  read(n);
  a[0, 1] := 1;
  for k := 1 to n do
    for i := 1 to 8 do
      for j := 1 to 8 do
        if m[i, j] = 1 then
          a[k, i] := a[k, i] + a[k - 1, j];
  write(a[n, 8]);
end.
0,0(0 оценок)
Ответ:
Sagi511
Sagi511
21.03.2022 20:26

program balet;

uses

crt;

var

k, n, pc: integer;

var

pd: real;

begin

readln(n);

readln(k);

pd := (n - 3 * k) / 2;

pc := trunc(pd);

if (pd > pc) then

pc := pc + 1 ;

writeln(pc);

readln;

end.

Пояснения:

pc - целое число принятых

pd - дробное число принятых

Так как может возникнуть ситуация, что ровно треть мальчиков от всех учеников сделать не получиться, то используем приём со сравнением числа с дробной частью и без дробной части в числе. Если дробная часть есть, то прибавляем еще одного принятого, чтобы было чуть больше трети от всех.

Пример:

n=59

k=10

pd=14,5

pc=trunc(14,5)=14

{функция trunc полностью отбрасывает дробную часть (не округляет!)}

pd>pc?

Да!

Значит

pc=14+1=15

Считаем.

Если бы мы не добавили к pc единицу, то получилось бы:

\frac {10+14}{59+14}=0,32877...

А это немного не треть...

А так как мы добавили единицу, то получилось:

\frac {10+15}{59+15}=0,33784...

То что нам надо!

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