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

ЗАДАЧА №5 Статистика

Запись от alhaos размещена 15.10.2020 в 18:29

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

Статистика

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

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1 ≤ N ≤ 100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31. Все элементы массива разделены пробелом.

Выходные данные
В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае. В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа отделяются пробелом.

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class problem_005 {
    static solve ([String]$inputFileName, [string]$outputFileName){
 
        (((Get-Content C:\PROBLEMS\005\INPUT.TXT) | Select-Object -Skip 1) -split '\D+') |
            Group-Object  @{expression={$_%2}} | 
                Sort-Object -Property name | 
                    ForEach-Object `
                        -Begin {$Count0 = 0; $Count1 = 0} `
                        -Process {
                            ($_.Group | ForEach-Object {
                                $_
                            }) -join " " 
                            IF ($_.name -eq '0'){$Count0 = $_.Count}
                            IF ($_.name -eq '1'){$Count1 = $_.Count}
                        }`
                        -End {
                            ('YES','NO')[$Count0 -gt $Count1]
                        } | Out-File $outputFileName
    }
}
 
[problem_005]::solve('C:\PROBLEMS\005\INPUT.TXT', 'C:\PROBLEMS\005\OUTPUT.TXT')
Размещено в Без категории
Показов 1244 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru