Permutations In Which N People Can Occupy R Seats In A Classroom | C Program

Which n people can occupy r seats in a classroom in C

Which n people can occupy r seats in a classroom in C programming helps in identifying the r number of seats that can be occupied by n number of people. Such a program is known as the possible permutations. Here, We need to write a code to find all the possible ways in which n people can occupy r number of seats in a classroom/theater.

Permutations In Which N People Can Occupy R Seats in C

Problem Statement :

In a classroom some of the seats are already occupied by students and only a few seats are available in the classroom. The available seats are assumed as r and n number of students are looking for the seat. We need to find in how many different permutations n number of students can sit on r number of chairs.

Algorithm

  • Input number of students in n
  • Input number of seats in r
  • Use permutation formula { factorial(n) / factorial(n-r) }
  • Print Output
Permutations in which n people can occupy r seats in aclassroom in C programming

C code

Run
//Permutations in which n people can occupy r seats
#include<stdio.h>
    
//function for factorial
int factorial(int num)
{
    int fact=1;
    for(int i=num; i>=1 ;i--)
        fact*=i;
    return fact;
}
    
//main program
int main()
{
    int n,r;
    printf("Enter number of people: ");
        
    //user input
    scanf("%d",&n);
    printf("Enter number of seats: ");
        
    //user input
    scanf("%d", &r);
        
    //finding all possible arrangements of n people on r seats
    // by using formula of permutation
    int p = factorial(r)/factorial(r-n);

    //printing output
    printf("Total possible arrangements: %d",p);

    return 0;
}

Output

Enter number of people: 5
Enter number of seats: 9
Total possible arrangements: 15120

For similar question click on given button.

6 comments on “Permutations In Which N People Can Occupy R Seats In A Classroom | C Program”


  • Venkatesh

    int main()
    {
    int fact=1,n,j,i,r,deno=1,num,result;

    printf(“Enter the number of persons and Seats=”);
    scanf(“%d %d”,&n,&r);

    for(i=1;i0;j–)
    {
    deno=deno*j;
    }

    result=num/deno;

    printf(“Number of ways people can be seated is %d”,result);
    }


  • Abhishek

    #include
    int seat(int n, int r)
    {
    if (r == 1)
    {
    return n;
    }
    if (r > n)
    {
    return n * r;
    }
    while (r > 1)
    {
    r–;
    return n * seat(n – 1, r);
    }
    }
    int main()
    {
    int n, r, c;
    scanf(“%d %d”, &n, &r);
    c = seat(n, r);
    printf(“%d”, c);
    return 0;
    }


  • Ullengula

    JAVA CODE

    import java.util.Scanner;

    public class Main {

    public static void main(String[] args) {
    //scanner class object creation
    Scanner sc = new Scanner(System.in);

    System.out.print(“Enter number of seats : “);
    int n = sc.nextInt();

    System.out.print(“Enter number of people : “);
    int r = sc.nextInt();

    int fact = 1;
    int fact2 = 1;
    for(int i = 1 ; i <= n ; i++) {
    fact = fact * i;
    }

    int diff = n – r;
    for(int i = 1 ; i <= diff ; i++) {
    fact2 = fact2 * i;
    }

    int total = fact / fact2;
    System.out.print(+r+" people can sit in "+n+ " seats in "+total+" number of ways." );

    sc.close();
    }
    }


  • Bappa

    easier implementation is possible

    #include
    int main()
    {
    int n,r,i;
    long int ans=1;
    scanf(“%d%d”,&n,&r);
    for(i=n;i>=n-r+1;i–)
    { ans*=i;
    }
    printf(“%ld”,ans);
    }


  • Bhoma

    #Very Simple Way
    def fact(x):
    if (x==0 or x==1):
    return 1
    else:
    return (x*fact(x-1))

    #Driver Code and apply metohd.
    n = int(input(‘enter no of peoples: ‘))
    r = int(input(‘enter no of seats: ‘))
    fact(n)
    fact(n-r)
    p = fact(n)//fact(n-r)
    print(“no of ways available for people are” , p)


    • HelpPrepInsta

      Thanks Bhoma for this answer in Python, and thank you for appreciating our work by actively commenting on our pages.