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

Уполикарпа есть n монет, достоинство i-й монеты равно ai. поликарп хочет распределить монеты по своим карманам, но он не может класть две монеты одинакового достоинства в один и тот же карман.

например, елси у поликарпа есть шесть монет, представленных в виде массива a=[1,2,4,3,3,2], он может распределить их по двум карманам следующим образом: [1,2,,3,4].

поликарп хочет распределить все имеющиеся у него монеты, используя минимально возможное количество карманов. ему сделать это.

входные данные
первая строка входных данных содержит одно целое число n (1≤n≤100) — количество монет.

вторая строка входных данных содержит n целых чисел a1,a2,…,an (1≤ai≤100) — достоинства монет.

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

примеры
входные данные
6
1 2 4 3 3 2
выходные данные
2
входные данные
1
100
выходные данные
1

👇
Ответ:
AlexOge
AlexOge
12.05.2020

Объяснение:

Python

input()

a = list(map(int, input().split()))

print(max(a.count(i) for i in a))

C++ 17

#include<bits/stdc++.h>

using namespace std;

main(){

   int a[1001],b[10001],n,i,m=0;

   cin>>n;

   for(i=1;i<=n;i++){

       cin>>a[i]; b[a[i]]++;

   }

   for(i=1;i<=1000;i++){

       m=max(m,b[i]);

   }

   cout<<m;

}

4,5(76 оценок)
Открыть все ответы
Ответ:
irynks468dig
irynks468dig
12.05.2020

#include <iostream>

using namespace std;

bool srav(int a, int b)

{

if (a > b)

 return 1;

else

 return 0;

}

int main()

{

int number = 0;

int AB = 1, CD = 1;

cout << "Input A , B\n";

//Произведение A на B

for (int i = 0; i <= 1; i++)

{

 cin >> number;

 AB *= number;

}

cout << "A*B = " << AB << endl;

for (int i = 0; i <= 1; i++)

{

 cin >> number;

 CD *= number;

}

cout << "C*D = " << CD << endl;

if(srav(AB,CD))

 cout<<"A*B > C*D";

else

 cout << "C*D > A*B";

return 0;

}

Объяснение:

4,5(67 оценок)
Ответ:
thetrueraincorn
thetrueraincorn
12.05.2020

***

Объяснение:

f(11) 11>0 поэтому вызываем g(10)

g(10) 10>1 поэтому вызываем f(7)

f(7) 7>0 поэтому вызываем g(6)

g(6) 6>1 поэтому вызываем f(3)

f(3) 3>0 поэтому вызываем g(2)

g(2) 2>1 поэтому вызываем f(-1)

f(-1) -1 < 0 поэтому выходим из функции

Далее последовательный выход из вех всех функций.

При каждом вызове функции g() на экран печатается звездочка. Было 3 вызова g(10) g(6) g(2), поэтому на кране будет  три звездочки подряд (***).

 

Не забывайте нажать " ", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"  

Бодрого настроения и добра!  

Успехов в учебе!

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