Форум программистов, компьютерный форум, киберфорум
alhaos
Войти
Регистрация
Восстановить пароль
Оценить эту запись

ЗАДАЧА №9 Домашнее задание

Запись от alhaos размещена 19.10.2020 в 14:19

Красноярский краевой Дворец пионеров, (c)2006 - 2020

Петя успевает по математике лучше всех в классе, поэтому учитель задал ему сложное домашнее задание, в котором нужно в заданном наборе целых чисел найти сумму всех положительных элементов, затем найти где в заданной последовательности находятся максимальный и минимальный элемент и вычислить произведение чисел, расположенных в этой последовательности между ними. Так же известно, что минимальный и максимальный элемент встречаются в заданном множестве чисел только один раз и не являются соседними. Поскольку задач такого рода учитель дал Пете около ста, то Петя как сильный программист смог написать программу, которая по заданному набору чисел самостоятельно находит решение. А Вам слабо?

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов массива. Вторая строка содержит N целых чисел, представляющих заданный массив. Все элементы массива разделены пробелом. Каждое из чисел во входном файле, в том числе и N, не превышает 102 по абсолютной величине.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести два числа, разделенных пробелом: сумму положительных элементов и произведение чисел, расположенных между минимальным и максимальным элементами. Значения суммы и произведения не превышают по модулю 3*104.

PowerShell
1
2
3
4
5
6
7
8
9
class problem_009 {
    static solve ([String]$inputFileName, [string]$outputFileName){
        $min, $max = (($array = [int[]]((GC) -split "[^\d-]+")) | Sort)[0,-1]
        "$(((($array | Group {$_ -ge 0})[1]).Group | Measure -Sum).Sum) $(([math]::min($array.IndexOf($min), $array.IndexOf($max))+1)..([math]::max($array.IndexOf($min), $array.IndexOf($max))-1) |
            % -Begin {$Aggr = 1} -Process {$Aggr *= $array[$_]} -End {$Aggr})"
    }
}
 
[problem_009]::solve('C:\PROBLEMS\009\INPUT.TXT', 'C:\PROBLEMS\009\OUTPUT.TXT')
Размещено в Без категории
Просмотров 397 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Я в целом к алиасам негативно отношусь, но походу этот брейнфак алиасами не испортишь...
    Запись от alhaos размещена 19.10.2020 в 14:20 alhaos вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.