hadzievamareta44
?>

Решите на python. Дан массив, содержащий N целых различных целых чисел. Необходимо найти номер числа, наименее отличающегося от среднего арифметического всех чисел. Будем считать, что числа нумеруются с 1. ВХОДНЫЕ ДАННЫЕ В первой строке находится одно натуральное число N ( В каждой из последующих N строк находятся сами числа (по одному числу в строке, каждое число по модулю не превосходит 100). ВЫХОДНЫЕ ДАННЫЕ Нужно вывести одно натуральное число — номер числа, наименее отличающегося от среднего арифметического всех чисел. Если подходящих чисел несколько, выведите меньший номер. ПРИМЕРЫ Входные данные 3 1 2 3 2 Выводится 2

Информатика

Ответы

Александровна1973

n = int(input())  # присваиваем n - кол-во чисел

z = 0  # z - сумма всех чисел (изначально она = 0)

a = []  # a - массив состоящий из n чисел

for i in range(n):  # делаем цикл для заполнения a

   a.append(int(input()))  # заполняем a

   z = z+a[i]  # так же считаем сумму всех чисел из a

x = z / len(a)   # x - ср.ар. n чисел

l =abs(a[0]-x)  # создаем n для того чтобы найти самое близкое к x число

m = 1  # создаем m для того чтобы найти номер самого близкого числа

for i in range(1,len(a)):  # делаем цикл для нахождения m и n

   if abs(a[i]-x)<l:  # если число ближе к x чем число под номером n

       l = abs(a[i]-x)  # то присваиваем l - это число

       m = i + 1  # а m - номер этого числа

print(m) # выводим номер числа

Объяснение:

Алла14
1)
 var 
n:integer;
begin 
readln(n); 
if(n<0)then write(0) 
else write(n+4);
end.

2)
 var
  a, b: integer;
 begin
  readln(a, b);
  if(a = b) then
write(1)
  else
write(0);
end.

3)
var
  a, b, c, s: integer;
 begin
  s := 0;
  readln(a, b, c);
  if(a >= 0) then s := s + 1;
  if(b >= 0) then s := s + 1;
  if(c >= 0) then s := s + 1;
  write(s);
end.

4)
var
  a, b, c, s: integer;
 begin
  s := 0;
  readln(a, b, c);
  if(a > 0) then s := s + a;
  if(b > 0) then s := s + b;
  if(c > 0) then s := s + c;
  write(s);
end.
5)
 var
  a, b, c: integer;
 begin
  readln(a, b, c);
  if (a < b) then swap(a, b);
  if (a < c) then swap(a, c);
  if (b < c) then swap(b, c);
  write(a, ' ', b, ' ', c);
end.

6)
 var n, k, s, i: integer;
 begin
  s := 0;
  readln(n, k);
  for i := 1 to n.ToString.Length do
  if(strtoint(n.ToString[i]) > k) then s := s + strtoint(n.ToString[i]);
  write(s);
 end.

7)
 var n, s, i: integer;
 begin
  s := 0;
  readln(n);
  for i := 1 to n do
    s := s + i;
  write(s);
 end.

9)
 var n, i: integer;
 begin
  readln(n);
  for i := n downto 1 do
  write(i);
 end.

12
 var
  n, i: integer;
  s: real;
 begin
  s := 0;
  readln(n);
  for i := n downto 1 do
  s:=s+(0.1*i);
    write(s);
 end.

13)
 var n, i: integer;
 begin
  readln(n);
  for i := 1 to n do
    write(sqr(i), ' ');
end.

14)
 var
  n, i, c: integer;
 begin
  i := 1;
  c := 0;
  readln(n);
  while (c <> n) do
  begin
    if(i mod 3 = 0) then begin write(i, ' ');c := c + 1; end;
    i := i + 1;
  end;
end.

15)
 var
  n, i, a: integer;
  c: real;
 begin
  i := 1;
  c := 0;
  readln(n);
  for i := 1 to n do
   begin
    read(a);
    c := c + a;
  end;
  write(c / n)
end.

16)
 var
  n, i, a: integer;
 begin
  i := 1;
  while true do
   begin
    read(a);
    if(a = 0) then break;
    n := n + 1;
  end;
  write(n)
end.
fedotochkin8
Var
    N, s, i: Integer;
    s1: real;

begin
    readln(N); {общий ввод для всех задач}
    
    if N < 0 then
        writeln('Задача 1. N=', 0)
    else writeln('Задача 1. N=', N + 4);
    
    s := 0;
    for i := 1 to n do
        s := s + i;
    writeln('Задача 7. 1+2+3+…+N=', s);
    
    write('Задача 9. Последовательность от N до 1 = ');
    for i := n downto 1 do
        write(i, ' ');
    writeln();
    
    s1 := 0;
    for i := 1 to n do
        s1 := s1 + i / 10;
    writeln('Задача 12. 0,1+0,2+0,3+..+N/10=', s1);
    
    write('Задача 13. Последовательность квадратов от 1 до N = ');
    for i := 1 to n do
        write(i * i, ' ');
    writeln();
    
    write('Задача 14. Последовательность первых N нечетных чисел = ');
    for i := 1 to n do
        write(2 * i - 1, ' ');
    writeln();
    
    if N > 0 then
        writeln('Задача 20. N степень 3 = ', frac(ln(n) / ln(3)) = 0);
    
    s := 0;
    for i := 1 to n do
        if n mod i = 0 then
            s := s + i;
    writeln('Задача 24. Сумма всех натуральных делителей числа N (сключая 1 и N) = ', s);
end.

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

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

Решите на python. Дан массив, содержащий N целых различных целых чисел. Необходимо найти номер числа, наименее отличающегося от среднего арифметического всех чисел. Будем считать, что числа нумеруются с 1. ВХОДНЫЕ ДАННЫЕ В первой строке находится одно натуральное число N ( В каждой из последующих N строк находятся сами числа (по одному числу в строке, каждое число по модулю не превосходит 100). ВЫХОДНЫЕ ДАННЫЕ Нужно вывести одно натуральное число — номер числа, наименее отличающегося от среднего арифметического всех чисел. Если подходящих чисел несколько, выведите меньший номер. ПРИМЕРЫ Входные данные 3 1 2 3 2 Выводится 2
Ваше имя (никнейм)*
Email*
Комментарий*

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

elmira070485
elena-ruzadom
Некрасов Валентина1097
tatyana58
Егоркина
evavard
Aleksandr_Vasilev
igschuschkov6211
info22
Tatarnikova1507
vadimnechaev23150
Igor120
Pavlov447
luza5
nunabat457