Простое решение. Сначала просто заполняем массив в ручную, потом ищем минимальное значение и максимальное.
<em>// PascalABC.NET 3.3, сборка 1623 от 16.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
for var x1:=0 to 12 do begin
var x:=x1/10;
if Abs(x)<0.5 then begin
var (y,s,a):=((x+3)/(x*x+4),0.0,1.0);
for var n:=1 to 10 do begin a*=(2*x+1); s+=a/(2*n+1) end;
y*=s;
Writeln('x = ',x:3:1,', Y = ',y)
end
else begin
var (y,p,a):=((x+1)/5,1.0,1.0);
for var n:=1 to 8 do begin a*=(x+1); p*=1+a/(n+1) end;
y*=p;
Writeln('x = ',x:3:1,', Y = ',y)
end;
end
end.
<u>Результат</u>
x = 0.0, Y = 0.885655933333952
x = 0.1, Y = 2.07134133017373
x = 0.2, Y = 5.37135178910962
x = 0.3, Y = 14.3385122904036
x = 0.4, Y = 37.2591296972574
x = 0.5, Y = 244.826467104353
x = 0.6, Y = 1171.45928887289
x = 0.7, Y = 5902.01341262292
x = 0.8, Y = 30197.4497576749
x = 0.9, Y = 153052.875303788
x = 1.0, Y = 756279.377777778
x = 1.1, Y = 3608294.82269368
x = 1.2, Y = 16533102.0129557
Логорифм троичный из 50 = 4 лампочки.
3 бита, (столько нужно для того чтоб записать 1 ширенгу из 8)
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int cnt = 0;
while (n > 0)
{
cnt++;
n /= 10;
}
cout << cnt;
}