public void Somar(Polinomial parans) { foreach (var(key, value) in parans.Polinomio) { if (Polinomio.ContainsKey(key)) { Polinomio[key] += value; } else { Polinomio.Add(key, value); } } }
// TODO: Fazer versão com sobrecarga de operadores public void Multiplicar(Polinomial parans) { var newPolinomio = new Dictionary <int, double>(); foreach (var data in Polinomio) { foreach (var paransData in parans.Polinomio) { var potenciaFinal = data.Key + paransData.Key; if (newPolinomio.ContainsKey(potenciaFinal)) { newPolinomio[potenciaFinal] += data.Value * paransData.Value; } else { newPolinomio.Add( data.Key + paransData.Key, data.Value * paransData.Value ); } } } Polinomio = newPolinomio; }
public void Multiplicar(IEnumerable <double> list) { var parans = new Polinomial(list.ToList()); Multiplicar(parans); }