М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kazz1m
kazz1m
27.01.2021 20:04 •  Информатика

Кириллу на день рождения подарили набор цифр для магнитной доски. Очень скоро родители обнаружили, что мальчик составляет из них числа, в которых никакие соседние цифры не являются одинаковыми. "Это особые числа, я сам их придумал!" - торжественно заявил мальчик. Какое наибольшее число Кирилл сможет составить? Формат входных данных:
Единственная строка входа данных содержит 10 неотрицательных целых чисел d(0<=d<=100) - количество различных магнитных цифр от 0 до 9, записанных через пробелю Гарантируется, что из данного набора можно составить хотя бы 1 особое число.
Формат вывода данных:
Выведите 1 наибольшее натуральное особое число, которое можно составить из данного набора.
Пример:
2 3 0 0 0 0 0 0 0 0 --> 10101

👇
Ответ:
danilklimenko2
danilklimenko2
27.01.2021

Ну крч, это не та задача, но D, с гаражами, я решил, так что лови ее)00))0 Думаю, пригодится)

(Паскаль)

program E;

var n,k,i,j,c:integer;

a: array[1..1000000] of integer;

begin

readln(n,k);

for i:=1 to k do

 read(a[i]);

c:=n;

for i:=1 to n do begin  

 for j:=1 to k do begin

   if (a[i] = a[j]+1) then c:=c-1;

writeln(c);

end.

4,7(60 оценок)
Ответ:
Jujuliliaa
Jujuliliaa
27.01.2021

сразу говорю, это неполное решение и за него дают не 100 а лишь да мало, но лучше чем ничего, на крайний случай если так и не найдешь толковое решение

from queue import PriorityQueue

d = {k: x for k, x in enumerate(map(int, input().split())) if x != 0}

q = PriorityQueue()

for x, k in d.items():

   q.put((-k, x))

res = []

p_k, p_x = q.get()

res.append(p_x)

while q.qsize() != 0:

   k, x = q.get()

   res.append(x)

   if p_k < -1:

       q.put((p_k + 1, p_x))

   p_k, p_x = (k, x)

print(*res[::-1], sep='')

4,8(67 оценок)
Открыть все ответы
Ответ:
alexandra152
alexandra152
27.01.2021
Человеку удобно хранить информацию в своей памяти И в памяти компьютера. Почему? Посмотрим на одну ситуацию с нескольких сторон. 
Мы находимся в школе. Друг внезапно попросил нас напомнить названия песен из коллекции. Если же у вас хорошая память, вы в любой момент можете дать информацию собеседнику или же другому средству. Иначе, вам нужно зайти в компьютер или же в иную технику, чтобы вспомнить данные. Но всё-таки есть много информации, которую необходимо хранить. В офисе, к примеру.  Поэтому здесь преимущество имеет компьютер. 
В итоге само удобство зависит от ситуации, случая.  
4,6(34 оценок)
Ответ:
Редискa
Редискa
27.01.2021

А9)1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 80 81 82 83 85 88 91 94 97 100

A10) 28

Объяснение:

А9

k:=0

Ты проверяешь 100 чисел от 1 до 100 (строка про i for i:=1 to 100 do) и ниже у тебя 2 условия

if (i div 4 =20) or (i mod 3 = 1) then

k:=k+1

это условие говорит, что если i div 4=20 или i mod 3=1 тогда ты k увеливаешь на 1. То есть если число подходит хотя бы по 1 из условий ты увеливаешь k на единицу

div это целая часть от деления или по другому чтоб было понятнее то что в числе до запятой. Допустим 7 div 3 =2 так как 7 делить на 3=2,33 но целая часть это 2

Так вот по нашему первому условию подойдут числа 80 81 82 83 потому что их целая часть от деления на 4 будет равна 20

Во втором условии i mod 3=1       mod это остаток от деления но это уже не то что после запятой а именно остаток. Как столбиком поделишь то что будет в остатке это mod. Например  10 mod 3 =1  так как 10 делить на 3 это будет 3 целых и 1 в остатке.

Так вот по нашему второму условию подходят все числа от 1 до 100 в которых после деления на 3 останется 1. Это числа 1 4 7 10 13... 82 85 88 91 94 97 100. Заметь что число 82 подходило и по первому условию так что его 2 раза не считаем. И после  каждого  подходящего такого числа мы к увеливаем на 1. Всего таких чисел 37 а нам надо вывести значение к которое  будет равно количеству этих чисел. Сами числа написаны в ответе

А10

Так как s не присвоили никакого значения значит s изначально 0

Даны элементы массива B[1] B[2] B[3] B[4] B[5] B[6] B[7]

k:=-5

Ты снова проверяешь 7 элементов (строка for n:=1 to 7 do) сначала первый потом 2 потом 3 и тд до 7

B[n] сначала будет B[1] так как n cначала проверяешь первый элемент массива

B[n]:=k+n;

то есть сначала повторяюсь проверяешь B[1]

B[1]:= -5+1=-4

k:=k+1 то есть k:=-5+1 =-4

s:=s+2*B[1]=0+2*(-4)=-8

Теперь проверяем n=2

B[2]: = k+n   k уже равно -4 а n равно 2

B[2] :=-4+2 =-2

k:=-4+1=-3

s:= -8+2*(-2)=-12

B[3]=-3+3=0

k:=-2

s:=-12+2*0=-12

B[4]:=-2+4=2

k:=-1

s:=-12+2*2=-8

B[5]:=-1+5=4

k:=0;

s:=-8+2*4=0

B[6]:=6

k:=1

s:=0+2*6=12

B[7]=1+7=8

k:=2

s:=12+2*8=28

В итоге значение s 28

Надеюсь, что понятно объяснил. И заранее извиняюсь за грамотность-лениво столько писать и расставлять запятые)

4,5(9 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ