Рекурсивный метод решения системы уравнений - C#
Формулировка задачи:
Решить систему уравнений рекурсивным методом:
a,b,q - вводятся пользователем
Решение задачи: «Рекурсивный метод решения системы уравнений»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Recursion
{
class Program
{
private static double FormulaLoop(double x0, double q, double b, int k)
{
double res = x0;
double tempK = x0;
for (int i = 0; i < k; i++)
{
tempK = q*tempK + b;
res += tempK;
}
return res;
}
private static double FormulaRecSum(double x0, double q, double b, int k)
{
if (k==0)
{
return x0;
}
double xk = q*x0 + b;
return x0+FormulaRecSum(xk, q, b, k-1 );
}
private static double FormulaRec(double x, double q, double b, int k)
{
if (k == 0)
{
return x;
}
double xk = q * x + b;
return FormulaRec(xk, q, b, k - 1);
}
static void Main(string[] args)
{
double q = 2;
double b = 5;
double x0 = 1;
int k = 3;
Console.WriteLine("Loop sum of k components = {0}",FormulaLoop(x0,q,b,k));
Console.WriteLine("Recursive sum of k components = {0}", FormulaRecSum(x0, q, b, k));
Console.WriteLine("x{0} = {1}",k, FormulaRec(x0, q, b, k));
Console.ReadLine();
}
}
}