** любом языке программирования

+72 голосов
3.3m просмотров

На любом языке программирования


Информатика (13 баллов) | 3.3m просмотров
Дано ответов: 2
+73 голосов

PascalABC.NET

Ответ:

  • uses School;
  • begin
  • var a := ArrRandomReal(ReadInteger('n:'),1,99,2);
  • var b := ArrGen(a.Length,i->a.Where((x,j)->i<>j).Product);
  • a.Println;
  • b.Print
  • end.

Пример работы:

(3.7k баллов)
+81 голосов

Ответ:

--- Python 3.8.3 ---

import typing

from typing import Callable

from typing import AnyStr

from typing import Any

from typing import Iterable

from typing import List

import random

#DEFINE User-Types

Numeric = typing.TypeVar('Numeric', int, float, complex)

#END

def ListTransform(Data: List[Any], Tranformer: Callable[[Any], Any], Selector: Callable[[Any], bool] = lambda p: True):

   '''Трансформирует элементы list, удовлетворяющие условию, в соответствии с заданным правилом

   По умолчанию трансформирует все элементы'''

   for index, item in enumerate(Data):

       if (Selector(item)):    

           Data[index] = Tranformer(item)

   return Data

def Product(data: Iterable[Numeric]):

   '''Перемножает значения числовой последовательности'''

   p = 1

   for i in data: p *= i

   return p

def main():

   N = int(input('Enter "N":\n'))

   Lst = ListTransform([random.uniform(-99,99) for i in range(N)], lambda p: p + 1, lambda item: item == 0)

   print(*Lst)

   NewList = []

   for index in range(len(Lst)):

       NewList.append(Product(Lst[:index] + Lst[index+1:]))

   print(*NewList)

if __name__ == "__main__":

   main()

(1.6k баллов)