using System.Collections.Generic;
public static int Poly(int x, IEnumerable<int> coeffs)
int order = coeffs.ToList().Count - 1;
Console.WriteLine("--------- Ini Debug Poly Nesteruk --------------");
Console.WriteLine("Poly init values: Order polynom = " + order + " ; x = " + x + " ; seed= " + seed + ";");
Func<int,int, int> calcAggr = (parcialResult,coeff) =>
int currentOrder = order--;
var power = (int)Math.Pow(x, currentOrder);
var result1 = parcialResult + coeff * power;
Console.WriteLine("Poly processed values: -> parcial result: " + parcialResult + " coeff: " + coeff + " currentOrder: " + currentOrder + "; " + x + "^" + currentOrder + " = " + power + " result: " + result1);
var result = coeffs.Aggregate(seed, calcAggr);
Console.WriteLine("--------- End Debug Poly Nesteruk --------------");
public static void Main()
var coeffs = new List<int>{3,4,5};
var tempResult = Poly(gradoPoly,coeffs);
Console.WriteLine(tempResult);
var numbers = Enumerable.Range(1,10);
Func<int,int, int> calcAggr = (p,x) =>
Console.WriteLine("Entra p: " + p + " x: " + x + " result: " + result1);
var aggr = numbers.Aggregate(calcAggr);
var sec1 = new []{ 1, 2, 3, 4, 5 };
var sec2 = new []{ 1, 3, 5, 7, 9 };
var result = Merge (sec1,sec2) ;
result.ToList().ForEach(r => Console.WriteLine(r));
public static IEnumerable<int> Merge(IEnumerable<int> a, IEnumerable<int> b)
var result = a.Except(b).Union(b.Except(a));