Предмет: Информатика,
автор: bobbygrenn
Создайте функцию, которая для заданных и (1 ≤ n≤m ) вычисляет количе
ство всех различных размещений из элементов по , используя рекуррентное
соотношение:
C++
Приложения:
Ответы
Автор ответа:
0
#include <iostream>
#include <iomanip>
using namespace std;
int disp(int n,int m) {
if (n>1) return disp(n-1,m)*(m-n+1);
return m;
}
int main() {
int n,m;
do {
cout<<"m = "; cin>>m;
cout<<"n = "; cin>>n;
if (n>m) cout<<"invalid input"<<endl;
}
while (m>=n);
cout<<disp(n,m)<<endl;
system("pause");
return 0;
}
m = 5
n = 2
20
m = 6
n = 3
120
#include <iomanip>
using namespace std;
int disp(int n,int m) {
if (n>1) return disp(n-1,m)*(m-n+1);
return m;
}
int main() {
int n,m;
do {
cout<<"m = "; cin>>m;
cout<<"n = "; cin>>n;
if (n>m) cout<<"invalid input"<<endl;
}
while (m>=n);
cout<<disp(n,m)<<endl;
system("pause");
return 0;
}
m = 5
n = 2
20
m = 6
n = 3
120
Автор ответа:
0
do {
cout<<"m = "; cin>>m;
cout<<"n = "; cin>>n;
if (n>m) cout<<"invalid input"<<endl;
}
while (m>=n);
cout<<"m = "; cin>>m;
cout<<"n = "; cin>>n;
if (n>m) cout<<"invalid input"<<endl;
}
while (m>=n);
Автор ответа:
0
еще вопрос по условию если n = 1 ?!?! программа крашнеться получаеться
Автор ответа:
0
Это не бесконечный ввод, а проверка на правильность ввода, n<=m. Какой смысл подсчитывать размещения из m элементов по n, если n = m ? Всего одно размещение и получите. Если хотите, чтобы программа работала при n = m, то замените строку while (m>=n); на строку while (m>n); , будет выдавать 1 программа.
Автор ответа:
0
ок спасибо
Автор ответа:
0
Пожалуйста.
Похожие вопросы
Предмет: Алгебра,
автор: zahlebnaula
Предмет: История,
автор: katakukarkina
Предмет: Математика,
автор: bojkotomko
Предмет: Математика,
автор: tw1st3r1337