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

Дан набор из n целых положительных чисел. необходимо определить, какая цифра чаще всего встречается в десятичной записи чисел этого набора. если таких цифр несколько, необходимо вывести наибольшую из них. напишите эффективную по времени и по памяти программу для решения этой . программа считается эффективной по времени, если при увеличении количества исходных чисел n в k раз время работы программы увеличивается не более чем в k раз. программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом n. описание входных и выходных данных в первой строке входных данных задаётся количество чисел n (1 ≤ n ≤ 1000). в каждой из последующих n строк записано одно натуральное число, не превышающее 10 000. пример входных данных: 3 15 25 32 пример выходных данных для выше примера входных данных: 5 в десятичной записи чисел заданного набора чаще всего – по 2 раза – встречаются цифры 2 и 5, большая из них – 5.

👇
Ответ:
anisiacom1
anisiacom1
24.09.2022
Var a:array[1..1000] of integer;
k:array[0..9] of integer;
n,i,m:integer; 
begin
readln(n);
for i:=1 to n do readln(a[i]);
for i:=0 to 9 do k[i]:=0;
for i:=1 to n do
 begin
 m:=a[i];
 while m>0 do
  begin
  inc(k[m mod 10]);
  m:=m div 10;
  end;
 end;
m:=0;
for i:=1 to 9 do
 if k[i]>=k[m] then m:=i;
writeln(m);
end.

Пример:
3
15
25
32
5
4,4(7 оценок)
Ответ:
beksedaniar
beksedaniar
24.09.2022
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadlnInteger;
  var d:=new Dictionary<char,integer>;
  for var i:=1 to n do
    foreach var e in ReadlnInteger.ToString do
      d[e]:=d.Get(e)+1;
  d.OrderByDescending(x->x.Value).ThenByDescending(x->x.Key)
      .Select(x->x.Key).Take(1).Println
end.

И это - всё. Работает точно в соответствии с примером, поэтому результатов не привожу.
4,4(37 оценок)
Открыть все ответы
Ответ:
5polinka
5polinka
24.09.2022

Объяснение:

1. Как осуществляется перевод в 64 систему счисления?

Для того, чтобы перевести какое-либо число в 64 систему счисления, нужно поделить на 64 ( если с 10 с.сч. переводим в 64 с.сч. ), либо сначала перевести в 10 с.сч., а затем в 64 с.сч.

Пример во вложении)

2. Как осуществляется перевод в 3 систему счисления?

Для того, чтобы перевести какое-либо число в 3 с.сч, нужно ( если число 10 с.сч. ) поделить на 3, либо ( если другого с.сч. ) перевести в 10 с.сч., а затем поделить эту запись на 3.

Пример во вложении)

3. Как осуществляется перевод в 5 систему счисления?

Аналогично как и с пунктами 1) и 2)

Пример во вложении)


1. как осуществляется перевод в 64 систему счисления? 2. как осуществляется перевод в 3 систему счи
1. как осуществляется перевод в 64 систему счисления? 2. как осуществляется перевод в 3 систему счи
4,4(15 оценок)
Ответ:
Елена060720007
Елена060720007
24.09.2022

#include <iostream>

#include <time.h>

#include <algorithm>

#include <vector>

#include <variant>

using namespace std;

pair<int**, vector<int>> sum_and_sort(int** mat, int n) {

int d1sum = 0, d2sum = 0;

vector<int> arr;

for (size_t i = 0; i < n; i++)

 arr.push_back(mat[i][0]);

for (const auto& i : arr)

 sort(arr.begin(), arr.end(), greater <>());

for (size_t i = 0; i < n; i++)

 mat[i][0] = arr[i];

for (size_t i = 0; i < n; ++i)

 for (size_t j = 0; j < n; ++j)

 {

  if (i == j)

   d1sum += mat[i][j];

  if (i + j == (n - 1))

   d2sum += mat[i][j];

 }

vector<int> arr2;

arr2.push_back(d1sum);

arr2.push_back(d2sum);

return make_pair(mat, arr2);

}

void printMat(int** mat, int n)

{

for (int i = 0; i < n; i++) {

 for (int j = 0; j < n; j++)

  cout << mat[i][j] << " ";

 cout << endl;

}

}

int main()

{

srand(time(0));

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите максимальный мазмер матрицы\n";

cin >> n;

int d1sum = 0, d2sum = 0;

int** matrix = new int* [n];

int** matrix2 = new int* [n];

vector<int> sum_d1_d2;

pair<int**, vector<int>> returnf;

for (int i = 0; i < n; ++i) {

 matrix[i] = new int[n];

 matrix2[i] = new int[n];

}

for (size_t i = 0; i < n; i++) {

 for (size_t j = 0; j < n; j++)

  matrix[i][j] = rand() % 100 + 1;

}

printMat(matrix, n);

returnf = sum_and_sort(matrix,n);

matrix2 = returnf.first;

sum_d1_d2 = returnf.second;

cout << endl;

printMat(matrix2, n);

cout << "Сумма диагоналей после сортировки:\n";

for (int i = 0; i < sum_d1_d2.size(); i++) {

 cout << sum_d1_d2[i] << " ";

}

return 1;

}

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