Вычислить [latex] \prod_{i=1}^{n}{\frac{(1-x)^{i+1}+1}{((i-1)!+1)^2}} [/latex]
Числа [latex] n [/latex] и [latex] x [/latex] вводятся с клавиатуры.
n | x | Ответ |
1 | 3 | 1.25 |
2 | 3 | -2.1875 |
3 | 3 | -4.13194 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> using namespace std; int main() { double pro = 1;// искомое произведение int n,x; cin >> n >> x;//Вводим числа double v = 1-x,u = 1;//v-это у нас 1-х, которое возводится в степень, а u-это факториал v*=1-x; pro*=(v+1)/((1+1)*(1+1)); for(int i = 2;i <= n;i++) { v*=(1-x);u*=i-1; pro*=(v+1)/((u+1)*(u+1)); } cout << pro; return 0; } |
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); double pro = 1; int n = in.nextInt(), x = in.nextInt(); double v = 1 - x, u = 1; v*=1-x; pro*=(v+1)/((1+1)*(1+1)); for(int i = 2; i <= n; i++){ v *= (1-x);u *= i - 1; pro *= (v+1)/((u+1)*(u+1)); } System.out.println((double)pro); } } |
Как всегда
Зачтено.
Расставил пробелы, убрал все слова «наше», вставил дроби в latex, убрал странные метки, убрал latex в цитировании кода программы. Убрал latex в цитировании кода программ. Latex — только для формул.
Но желательно вставить ссылку на код в ideone и поправить следующее:
Вы отдельно обрабатываете первое слагаемое, а для этого вставили условный оператор в цикл. Так не делают. Просто начните цикл с 2, а перед этим присвойте все необходимые для n=1 значения.
Зачтено.
Научись ставить в программе пробелы.