For23. Дано вещественное число X и целое число N (> 0). Найти значение выражения X — X3/(3!) + X5/(5!) -…+ (-1)N*X2*N+1/((2*N+1)!) (N! = 1*2*…*N). Полученное число является приближенным значением функции sin в точке X.
>Решение Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | program For23; var X,Rez,factorial,pow:Real; N, i :Integer; begin Write('Введите X: '); Readln(X); Write('Введите N: '); Readln(N); Rez:=0; pow:=1; factorial:=1; For i:=1 to 2*N+1 do begin factorial:=factorial*i; pow:=pow*X; if (i mod 2) <>0 then begin Rez:=Rez+pow/factorial; pow:=pow*(-1); end; end; Writeln(Rez); end. |
>
Решение C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include int main(void) { float x; printf("X:"); scanf ("%f", &x); int n; printf("N:"); scanf ("%i", &n); float x1=x,rez=x; int i; for (i =1; i<n; ++i){ x1 *= -1*x*x; rez += x1; } printf("%f \n ",rez); return 0; } |
Решение C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); float x; cout<<"X:"; cin>>x; int n; cout<<"N:"; cin>>n; float x1 = x, rez = x; int i; for (i = 1; i < n; ++i) { x1 *= -1 * x * x; rez += x1; } cout<< rez; } |
program for23;
Uses Math;
var
i,j,a,n,k,x : integer;
sum, sum1, sum2 :real;
begin
readln(x,n);
sum1:=1; sum:=1; k:=-1;sum2:=x;
for i:=1 to n do
begin
sum1:=power(x,((2*i)+1));
for j:=1 to 2*i+1 do sum:=sum*j;
sum2:=sum2+k*(sum1/sum);
k:=(-1)*k;sum:=1;
end;
writeln(sum2:2:3)
end.
c++ неправильно
на php , выглядит примерно так, надо просто менять $n = 1,2,3,4,5,6,7,8,9…..
$n=1;
$x=2;
$product= -1;
$sum1=0;
for($i=1;$i <= $n*2; $i += 2){
$product=$product*(-1);
$fact=1;
for($m=1;$m<=$i;$m++){
$fact*=$m;
}
$sum1=$sum1+pow($x,$i)*$product/$fact;
// $sum1=$sum1+$fact;
}
echo $sum1;
C++
#include
#include
using namespace std;
int main()
{
A:
double a, d, e, b=1;
double c=0;
cout <> a;
cout <> d;
int i;
for (i=1; i<=a; i++) {
b*=(i+i)*(1+2*i);
c=c+((pow(-1,i))*(pow(d,((2*i)+1)))/b);
e=c+d;
}
cout << "Result: " << e << "\n";
goto A;
return 0;
}
from cmath import sin
x=int(input(‘x= ‘))
n=int(input(‘n= ‘))
s=x
k=1
for i in range(1,n+1):
k*=(2*i+1)
s+=(pow(-1,i)*pow(x,(2*i+1)))/k
print(s)
print(sin(x))
double a;
double b = 1, x = 1, y = 0, z;
a = int.Parse(Console.ReadLine());
for(int i = 1; i <= 2; i++)
{
x *= (i + i) * (1 + 2 * i);
b = Math.Pow(a, 2*i+1);
y += Math.Pow(-1,i)*(b/x);
Console.WriteLine(y+a);
}
java pliss