CPP Program Circular List of Students – Adhoc Problems

You are given a circular list of students as follows:

0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10 -> 11

  • This list is circular, which means that 11 will follow 0 again.
  • You will be given the student number ‘i’ and some position ‘p’.
  • You will have to tell that if the list will start from (i+1)th student, then which student will be at pth position.

Input Format:

  • The first line will have an integer ‘t’, denoting the number of test cases.
  • The next line will have two space-separated integers denoting the value of ‘i’ and ‘p’ respectively.

Output Format:

  • Print ‘t’ lines containing a single integer denoting the student number.

Constraints:

1 <= t <= 10^5 0 <= i <= 11 1 <= p <= 12

Sample Input:

2 2 3 5 8 

Sample Output:

5 1 

Explanation:

  • First, list will start at 3. 3 -> 4 -> 5. Hence, 5 will be at the third position.
  • Second, list will start at 6. 6 -> 7 -> 8 -> 9 -> 10 -> 11 -> 0 -> 1. Hence, 1 will be in the 8th position.

Code:

#include<iostream> using namespace std; int calculate(int i, int p) { int current_student = i+1; while(p--) { if(current_student>11) { current_student = 0; } current_student++; } current_student--; if(current_student==-1) { current_student = 11; } return current_student; } int main() { int t; cin >> t; while (t--) { int i, p; cin >> i >> p; cout<<calculate(i, p)<<endl; } }
Code language: C/AL (cal)

Leave a Comment