문제 설명 − 기차가 r에서 멈출 방법의 수를 찾는 프로그램 n개 중 역 두 개의 정차역이 연속되지 않도록 하십시오.
문제 설명
이 프로그램은 기차가 멈출 순열과 같은 방법의 수를 계산합니다. 여기에서 기차는 X 지점에서 출발합니다. Y로 . 이 지점들 사이에는 n 역. 기차는 r에 정차합니다. 이 n개의 방송국 r 에서 정차하는 조건이 주어진 스테이션 역 기차는 두 개의 연속 역에서 정차하지 않아야 합니다.
이 순열은 직접 n 을 사용하여 찾을 수 있습니다. 피r 공식.
몇 가지 예를 들어보겠습니다.
Input : n = 16 , r = 6 Output : 462
설명 − 조건을 만족하는 16개 정류장 중 6개 정류장에서 열차가 멈출 수 있는 방법의 수는 다음과 같은 순열 공식을 사용하여 구합니다.
n 피r 또는 p(n, r) =n! ∕ (n-r)!
알고리즘
Input : total numbers of stations n and number of stations train can stop r. Step 1 : For values of n and r calculate the value of p(n,r) = n! / (n-r)! Step 2 : print the value of p(n,r) using std print method.
예시
#include<stdio.h>
int main(){
int n = 16, s = 6;
printf("Total number of stations = %d\nNumber of stopping station = %d\n", s, n);
int p = s;
int num = 1, dem = 1;
while (p!=1) {
dem*=p;
p--;
}
int t = n-s+1;
while (t!=(n-2*s+1)) {
num *= t;
t--;
}
if ((n-s+1) >= s)
printf("Possible ways = %d", num / dem);
else
printf("no possible ways");
} 출력
Total number of stations = 16 Number of stopping station = 6 Possible ways = 462