Атака подводной лодки

У подводной лодки есть \(n\) торпед, которые она выпускает но очереди по кораблю до тех нор, пока торпеда не попадет в ко­рабль или пока не закончатся торпеды. Вероятность попадания торпеды в корабль равна \(p\). После каждого запуска торпеды лодкой корабль охраны про­изводит залп по подводной лодке. Вероятность затопления подводной лодки в результате залпа корабля охранения равна \(p_{1}\). Составим программу, в которой будет вычисляться вероятность события \(P(A)\), состоящего в том, что и корабль, и подводная лодка будут затоплены. При этом используем формулу $$P\left(A \right)=p\cdot p_{1}\left(1-q^{n} \right)/\left(1-q \right)$$ где введено обозначение \(q=\left(1-p \right)\left(1-p_{1} \right)\).
#include
#include 
using namespace std;
int main(){
//Параметры задачи:
double p,p1,P,q;
int n;
//Ввод параметров задачи:
cout << "p = ";
cin>>p;
//Проверка корректности значения p:
(p < 0||p > 1)?(cout << "Wrong value!" << endl,exit(0)):cout << "p1 = ";
cin >> p1;
//Проверка корректности значения p1:
(p1 < 0||p1 > 1)?(cout << "Wrong value!" << endl,exit(0)):cout << "n = ";
cin >> n;
//Поиск решения:
q=(1-p)*(1-p1);
P=p*p1*(1-pow(q,n))/(1-q);
cout << "P = " << P << endl;
return 0;
}

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 7
Гостей: 6
Пользователей: 1

STUDLAB Сообщить про опечатку на сайте