Objective In this challenge, we're going to use loops to help us do some simple math. Task Given an integer, , print its first multiples. Each multiple (where ) should be printed on a new line in the form: N x i = result . Input Format A single integer, . Constraints Output Format Print lines of output; each line (where ) contains the of in the form: N x i = result . Sample Input 2 Sample Output 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20 Explanation: Here, we just need to use for loops to achieve the result Solution : import java.io.* ; import java.math.* ; import java.security.* ; import java.text.* ; import java.util.* ; import java.util.concurrent.* ; import java.util.regex.* ; public class Solution { public static void main ( String [] args ) t...
Problem Statement
In a Conference ,attendees are invited for a dinner after the conference.The Co-ordinator,Sagar arranged around round tables for dinner and want to have an impactful seating experience for the attendees.Before finalizing the seating arrangement,he wants to analyze all the possible arrangements.These are R round tables and N attendees.In case where N is an exact multiple of R,the number of attendees must be exactly N//R,,If N is not an exact multiple of R, then the distribution of attendees must be as equal as possible.Please refer to the example section before for better understanding.For example, R = 2 and N = 3
All possible seating arrangements are
(1,2) & (3)
(1,3) & (2)
(2,3) & (1)
Attendees are numbered from 1 to N.
Input Format:
The first line contains T denoting the number of test cases.
Each test case contains two space separated integers R and N, Where R denotes the number of round tables and N denotes the number of attendees.
Output Format:
Single Integer S denoting the number of possible unique arrangements.
Constraints:
0 <= R <= 10(Integer)
0 < N <= 20 (Integer)
The first line contains T denoting the number of test cases.
Each test case contains two space separated integers R and N, Where R denotes the number of round tables and N denotes the number of attendees.
Output Format:
Single Integer S denoting the number of possible unique arrangements.
Constraints:
0 <= R <= 10(Integer)
0 < N <= 20 (Integer)
Sample Input 1:
1
2 5
Sample Output 1:
10
Explanation:
R = 2, N = 5
(1,2,3) & (4,5)
(1,2,4) & (3,5)
(1,2,5) & (3,4)
(1,3,4) & (2,5)
(1,3,5) & (2,4)
(1,4,5) & (2,3)
(2,3,4) & (1,5)
(2,3,5) & (1,4)
(2,4,5) & (1,3)
(3,4,5) & (1,2)
Arrangements like
(1,2,3) & (4,5)
(2,1,3) & (4,5)
(2,3,1) & (4,5) etc.
But as it is a round table,all the above arrangements are same.
Psuedocode:
- Input No.of.Testcases
- Input Table and people in space delimiters.
- if table>=people print(1)
- else:
- find no.of.people in type A table and no.of.people in type B table.
- Find no.of Type A and Type B table.
- Establish factorial Array.
- Divide people in groups using formula derived
- After dividing them arrange them in tables and find the possible arrangements using formula.
- Print the arrangements.
Program:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i in range(int(input())): | |
table,people=map(int,input().split()) | |
if table>=people: | |
print(1) | |
else: | |
PA=people//table | |
PB=PA+1 | |
TB=people%table | |
TA=table-TB | |
fact=[1,1] | |
for i in range(2,people+2): | |
x=i*fact[i-1] | |
fact.append(x) | |
#To find no.of.possible ways to divide people among groups | |
divide=fact[people]//((fact[PA]**TA)*(fact[PB]**TB)*fact[TA]*fact[TB]) | |
#To find no.of.arrangements in a circular table | |
if PB>=4: | |
arrange=int(divide*(fact[PA-1]/2)**TA*(fact[PB-1]/2)**TB) | |
else: | |
arrange=divide | |
print(arrange) | |
Comments
Post a Comment