sharovaeln6
?>

Недавно алексей устроился на работу в крупную it-компанию. ему предложили поработать над групповым проектом. до этого у него уже было много успешных проектов, но в этот раз всё шло не по плану. алексей долго пытался найти причину всех неудач. в итоге он пришел к выводу, что его группа . он считает, что i-й человек в компании характеризуется числом ai . тогда в его понимании, группа , если для любого целого m > 1 и любой пары разных людей (i, j) в группе верно, что остатки от деления чисел ai и aj на m различаются. алексей обратился со своими соображениями к руководству. они были бы рады согласиться на реформы, но для начала хотели бы оценить все риски. алексею убедить руководство, для этого требуется найти минимальное количество групп, на которое можно разбить всех работников компании. формат входных данных в первой строке задано одно целое число n (2 6 n 6 200 000) — количество работников в компании. во второй строке заданы n целых чисел a1, a2, . . , an (1 6 ai 6 109 ) — числа, характеризующие работников. формат выходных данных выведите одно число — минимальное количество групп, на которое можно разбить всех работников компании. примеры стандартный ввод стандартный вывод 4 1 2 3 1 3 5 6 1 2 5 3 3 6 1 1 2 2 1 1 4 замечание в первом примере работников можно разбить на группы первый и третий работник не могут быть в одной группе так как остатки от деления a1 и a3 на 2 . первый и четвёртый работник не могут быть в одной группе так как остатки от деления a1 и a4 на 7 . третий и четвёртый работник не могут быть в одной группе так как остатки от деления a3 и a4 на 2 . таким образом, ответ на данный тест равен 3

Информатика

Ответы

tochkamail7
Const m=9; n=10;
var 
a:array[1..m,1..n] of integer;
i,j,m1,n1:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to m do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(13)-5;
   write(a[i,j]:4);
  end;
  writeln;
 end;
writeln('Элемент, расположенный в правом верхнем углу массива: ',a[1,n]);
writeln('Элемент, расположенный в левом нижнем углу массива: ',a[m,1]);
writeln('Какой элемент второй строки нужно вывести?');
readln(n1);
writeln('Элемент, расположенный во второй строке в ',n1,' столбце: ',a[2,n1]);
writeln('Какой элемент третьего столбца нужно вывести?');
readln(m1);
writeln('Элемент, расположенный в третьем столбце в(о) ',m1,' строке: ',a[m1,3]);
writeln('Какой элемент массива нужно вывести?');
readln(m1,n1);
writeln('Элемент, расположенный в(о) ',m1,' строке в(о) ',n1,' столбце: ',a[m1,n1]);
end.

Пример:
Исходный массив:
   7  -5   7   7   3   3   4   6  -5   1
   7  -3  -1  -5  -1  -1   2   4  -2   6
   0   3   4  -2  -3  -1  -2   7   3  -2
   7   3  -2   6  -2   4  -1   1   0   3
   2   4  -1   6  -2   2   5   4   4  -1
  -1  -4   5   2   5  -1  -5   5  -5   0
   4   2  -4   2  -3   1  -1   5   3   4
  -2   5  -4  -1   5   5   3   3  -2   1
   5   2  -3   3   5   4   3   3   4   5
Элемент, расположенный в правом верхнем углу массива: 1
Элемент, расположенный в левом нижнем углу массива: 5
Какой элемент второй строки нужно вывести?
Элемент, расположенный во второй строке в 4 столбце: -5
Какой элемент третьего столбца нужно вывести?
Элемент, расположенный в третьем столбце в(о) 5 строке: -1
Какой элемент массива нужно вывести?
Элемент, расположенный в(о) 6 строке в(о) 2 столбце: -4
Yuliya Aleksandr686
#include <stdio.h>
#include <stdlib.h>

int main() 
{
   int n=10, h;
   int a[n]; 

   srand (time(NULL));
   for (int i=0; i<n; i++)
        {
        a[i] = rand() % 21 - 10;
        printf ("%4d ", a[i]);
        }
    printf("\n");
    for (int i=0; i<n/4; i++){
    h = a[i]; a[i] = a[n/2-i-1]; a[n/2-i-1] = h;
    }
    for (int i=n/2; i<3*n/4; i++){
    h = a[i]; a[i] = a[3*n/2-i-1]; a[3*n/2-i-1] = h;
    }
    for (int i=0; i<n; i++) printf ("%4d ", a[i]);
    printf("\n");
    return 0;
}

Пример:
-4 -10 -2 -8 3 -2 1 -5 -6 -5
3 -8 -2 -10 -4 -5 -6 -5 1 -2

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Недавно алексей устроился на работу в крупную it-компанию. ему предложили поработать над групповым проектом. до этого у него уже было много успешных проектов, но в этот раз всё шло не по плану. алексей долго пытался найти причину всех неудач. в итоге он пришел к выводу, что его группа . он считает, что i-й человек в компании характеризуется числом ai . тогда в его понимании, группа , если для любого целого m > 1 и любой пары разных людей (i, j) в группе верно, что остатки от деления чисел ai и aj на m различаются. алексей обратился со своими соображениями к руководству. они были бы рады согласиться на реформы, но для начала хотели бы оценить все риски. алексею убедить руководство, для этого требуется найти минимальное количество групп, на которое можно разбить всех работников компании. формат входных данных в первой строке задано одно целое число n (2 6 n 6 200 000) — количество работников в компании. во второй строке заданы n целых чисел a1, a2, . . , an (1 6 ai 6 109 ) — числа, характеризующие работников. формат выходных данных выведите одно число — минимальное количество групп, на которое можно разбить всех работников компании. примеры стандартный ввод стандартный вывод 4 1 2 3 1 3 5 6 1 2 5 3 3 6 1 1 2 2 1 1 4 замечание в первом примере работников можно разбить на группы первый и третий работник не могут быть в одной группе так как остатки от деления a1 и a3 на 2 . первый и четвёртый работник не могут быть в одной группе так как остатки от деления a1 и a4 на 7 . третий и четвёртый работник не могут быть в одной группе так как остатки от деления a3 и a4 на 2 . таким образом, ответ на данный тест равен 3
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

igraparkGP51
Nevstrueva_Vasilevna
kirycha-2000719
lenskiy
tarasovs
N-odes-art-school410
sahar81305
phmad7
Николаев
Dmitrievich1871
choia
mistersoshnev354
nsmmkrtchyan
artemy682719
servik78