For20. Дано целое число N (> 0). Используя один цикл, найти сумму 1! + 2! + 3! + … + N! (выражение N! — N-факториал — обозначает произведение всех целых чисел от 1 до N: N! = 1*2*…*N ). Чтобы избежать целочисленного переполнения, проводить вычисления с помощью вещественных переменных и вывести результат как вещественное число.
>Решение Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | program For20; var Rez:Real; N, i :Integer; begin Write('Введите N: '); Readln(N); Rez:=1; For i:=2 to N-1 do begin Rez:=Rez+Rez*i; 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 | #include int main(void) { int n; printf("N:"); scanf ("%i", &n); float n1=1,rez=0; int i; for (i =1; i<=n; ++i){ n1 *=(float)i; rez += n1; } 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 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int n; cout<<"N:"; cin>>n; float n1 = 1, rez = 0; int i; for (i = 1; i <= n; ++i) { n1 *= (float)i; rez += n1; } cout<< rez; } |
C++ (Не совсем правильно но близко к истине(0_0))
#include //for 24
using namespace std;
int main()
{
setlocale(LC_ALL, «rus»);
float x;
cout <> x;
int n;
cout <> n;
float x1 = 1, n1 = 1, z = 1.0, n2 = 1;
for (int i = 1; i <= n; ++i)
{
n1 *= 2 * i;
n2 *= (float)n1;
x1 *= pow(-1, i) * pow(x, n1);
z += x1/n1;
}
cout << z;
return 0;
}
#include
По приколу не полностью скопировалось
«iostream» исчезает -_-