Софтуерно Инженерство
Loading...
+ Нов въпрос
zisov4eto avatar zisov4eto 19 Точки

[Functional Programming][Exercises] problem 04. Find Even or Odds and problem 09. List of Predicates

В задача 04. Find Even or Odds взимам 60/100 в judge с два грешни отговора. КОД.

В задача 09. List of Predicates резултатът ми е 80/100 в judge като тест 4 гърми runtime. КОД.

 

Ако, някой може да посочи къде бъркам ще се радвам. :)

1
C# Advanced
PlamenMetodiev avatar PlamenMetodiev 14 Точки

Здравейте,

На 4-та задача уловката е, че може да има и отрицателни четни числа. На този ред 
List<int> filteredList = Filter(list, n => n % 2 == divideresult);
само добави || n % 2 == -1 и би трябвало да стане. ;)

List<int> filteredList = Filter(list, n => n % 2 == divideresult || n % 2 == -1);

За 6-та задача и аз не знам, сега като си гледам точките в Judge-a и моя 4-ти тест гърми.

Поздрави!

5
zisov4eto avatar zisov4eto 19 Точки

Прав си за задача 4 колега.

Благодаря ти. :)

0
10/06/2016 20:10:02
TanyaZheleva avatar TanyaZheleva 356 Точки

За 6та задача нямаш нужда от метод, който да прави проверката, нито от помощен масив. Вместо това можеш да използваш Func<int, bool>[] predicates = toDivide.Select(div => (Func<int, bool>)(n => n % div == 0)).ToArray();

Решение: http://pastebin.com/X8Da3n39

0
tiapko avatar tiapko 31 Точки

С Predicate е значително по-четим код-а:

http://pastebin.com/C6jwHqZm

0
iliyamar avatar iliyamar 13 Точки

Да, в решението на tiapko мисля, че е смисъла на тази задача, защото се декларират предикати. Вероятно може да се оптимизира  за да стане с един predicate и някаква дълга ламбда, но това е за далеч по-напреднали.

0