Ninja Competition

Our hero Ninja is organizing a coding competition where only two teams can participate simultaneously. To make the competition interesting and fair, both the teams should have an equal number of members. As an organizer, Ninja got the task of making the two teams.

There are some conditions for creating teams. For each competition, he will be given a number ‘N’, and for each divisor ‘D’ of ‘N’ ( including 1 and ‘N’ itself ), he will add a member:

1) to the first team if ‘D’ is even.

2) to the second team if ‘D’ is odd.

Since Ninja is very busy organizing the event, he wants you to help him with the task. Your task is to tell Ninja if he can create two teams with an equal number of members.

For Example:
For ‘N’ = 10,
The divisors are:
1, 2, 5, 10.
The first team will have two members corresponding to divisors 2 and 10.
The second team will have two members corresponding to divisors 1 and 5.
So, in this case, Ninja can make two teams.
Input Format:
The first line contains an integer ‘T’ which denotes the number of test cases to run.

Then the test case follows:

The first and only line of each test case contains an integer ‘N’ denoting the number given to Ninja. 
Output Format:
For each test case print ‘true’ if Ninja can make two teams of equal members with the given ‘N’, else print ‘false’.

Output for each test case will be printed in a separate line.
Note:
You are not required to print anything, it has already been taken care of. Just implement the function.
Constraints:
1 <= T <= 100
1 <= N <= 10^5

It is guaranteed that the sum of N over all test cases doesn’t exceed 10^5.

Time Limit: 1 sec
CodingNinjas
author
2y
Brute Force

We will iterate from 1 to ‘N’ and count the number of even divisors and odd divisors. If they are equal, we will return true, else false.

Algorithm:

  1. Declare two variables, ‘Odd_Count’ and ‘...read more
CodingNinjas
author
2y
Optimized Brute Force

We can observe that the divisors of any integer come in pairs. For each divisor ‘D1’ such that 1 <= ‘D1’ <= sqrt(‘N’) , there will be another divisor ‘D2’ = ‘N’ / ‘D1’ such that s...read more

CodingNinjas
author
2y
Observations and Maths

Observe that all the numbers with equal counts of odd and even integers form an Arithmetic progression with first term 2 and common difference 4. The general term of the AP is 4 ...read more

Add answer anonymously...
Bottomline Software Developer Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions
Get AmbitionBox app

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter