Математическая формулировка задачи здесь такая: Σ(i=1;k)¹/(¹/r[k] + ¹/x) = R, массив положительных величин длины k известен, сопротивление R тоже, требуется вычислить заранее неизвестное значение переменной х. А главная трудность здесь - правильно задать начальное значение х. Остальное просто! Я вот, например, на плюсах задавала х как R/k и всё сходилось к правильным ответам за несколько итераций (в заданных примерах за 3-4). А на шарпе я ничего серьёзного не пишу - не тот это язык, чтобы на нём что-то серьёзное писàть!. ʘ‿ʘ
#include <iostream>
#include <iomanip>
using namespace std;
double *r, R; int k; double f(double x)
{ double s = 0; for (int i = 0; i < k; i++)
s += 1. / (1. / r[i] + 1. / x); return s - R; }
int main() { int i; double x, h = 1e-4, d = 2 * h;
while (true) { cout << "k R » "; cin >> k >> R;
r = new double[k]; for (i = 0; i < k; i++)
cin >> r[i]; x = R / k; for (i = 1; i <= 12; i++)
{ x -= f(x) * d / (f(x + h) - f(x - h));
cout << setw(2) << i << ')' << setprecision(6)
<< fixed << setw(10) << x << endl; } } }
