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

Вмассиве любого размера с целыми числами от 1 до 500,000 одно число повторяется дважды, все остальные числа уникальны. предложите наиболее быстрый алгоритм поиска повторяющегося числа. можете выполнить на c, c

👇
Ответ:
LeklA
LeklA
18.09.2021

1 создать вс массив с индексами от 0 до 500 например массив А (i) - число повторений числа i
все члены массива обнулить, в цикле по i A(i)= 0
2 пусть С(j) - исходный массив целых чисел
3 в цикле по j сделать операцию A(С(j))+=1 (или A(С(j))++) и проверить, не равно ли A(С(j)) двум

например повторяется число 30
сначала А(30) = 0
потом при первом упоминании А(30) = 1
при следующем А(30)=2

С( j ) - при котором выполнилось A(С(j)) = 2 и есть искомое число

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

Короче. Вот код.

def matrix_gen(gen, n, m):    Matrix = [];    for i in range(n):        a = [];        for j  in range(m):            a.append(gen[j]);        Matrix.append(a);    return Matrix;

Объяснение

Сначало ты инициализируешь функицю с названием "matrix_gen", которая принимает 3 параметра, 'gen' -- это генератор которые ты будешь использовать. 'n' & 'm' это размер матрицы.

Второй строчкой ты инициалихируешь пустой массив, которые похже заполнишь. Третей строчкой ты в for цикле обходишь все строки матрицы, они же подмассивы массива  Matrix, просто 'a'. Делаем мы это 'n' раз.

Четвётрой строчкой ты инициализируешь массив(ы, мы в цикле) 'a', и следующей строчкой заполняешь уже его. Так же в for цикле. Всего в нём будет 'm' элементов.

Надеюсь решение правильное. Честно говоря у тебя вопрос очень странно поставлен.

4,4(59 оценок)
Ответ:
cleverprincess
cleverprincess
18.09.2021
Var a: array of integer;
n, sum, max: integer;
 
begin
   sum:=0;
   write('Введите натуральное число n: ');
   readln(n);
   a := new integer[n];
 
  write('Введите действительные числа: ');
  for var i:=0 to a.Length-1 do
    read(a[i] );
   
  write('Сумма равна: ');
  for var i:=0 to a.Length-1 do
    sum:=sum+a[i];
  writeln(sum);  
 
  write('Максимальный элемент равен: ');
  max := a[0];
  for var i:=0 to a.Length-1 do
    if a[i]>max then
    begin
      max := a[i];
    end;
  writeln(max);
 
  write('S = (А1+ А2+ …,+ Аn) + max (А1, А2, …, Аn) = ');
  sum:=sum+max;
  write(sum);
 
end.
4,6(100 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ