Don’t worry, unlock all articles / blogs on PrepInsta by just simply logging in on our website
C++ Program for kth largest factor of N (TCS Codevita) | PrepInsta
July 2, 2020
kth largest factor of N Problem
In the quest of best programmers and developers from around the world TCS announces a Global Hackathon Competiton called the TCS CodeVita every year. Kth largest factor of N is one of the sample problem of this year TCS CodeVita season 9 competition. This problem can be solved using a counter variable and a variable holding the position for largest factor yet , here we have provided the solution for the above problem in C++ Language.
Question -: A positive integer d is said to be a factor of another positive integer N if when N is divided by d, the remainder obtained is zero. For example, for number 12, there are 6 factors 1, 2, 3, 4, 6, 12. Every positive integer k has at least two factors, 1 and the number k itself.Given two positive integers N and k, write a program to print the kth largest factor of N.
Input Format: The input is a comma-separated list of positive integer pairs (N, k).
Output Format: The kth highest factor of N. If N does not have k factors, the output should be 1.
Constraints:
1<N<10000000000
1<k<600.
You can assume that N will have no prime factors which are larger than 13.
Example 1
Input: 12,3
Output: 4
Explanation: N is 12, k is 3. The factors of 12 are (1,2,3,4,6,12). The highest factor is 12 and the third largest factor is 4. The output must be 4.
Example 2
Input: 30,9
Output: 1
Explanation: N is 30, k is 9. The factors of 30 are (1,2,3,5,6,10,15,30). There are only 8 factors. As k is more than the number of factors, the output is 1.
#include <stdio.h>
using namespace std;
int main()
{
int number,pos_of_factor,i,c=0;
cin>>number;
cin>>pos_of_factor;
for(i=number;i>=1;i--)
{
if((number%i)==0)
c++;
if(c==pos_of_factor)
{
cout<<i;
break;
}
}
if(c<pos_of_factor)
cout<<1;
return 0;
}
Output
12,3
4
C
To find the solution of Kth largest factor of N problem in C Programming language click on the button below:
#include
using namespace std;
int main()
{
int n,k,x=0,count=0,result=0,i;
cin>>n>>k;
for(i=1;icount)
result=1;
else
k=count-k+1;
for(i=1;i<=n;i++)
{
if(n%i==0)
{
x++;
if(x==k)
result=i;
}
}
cout<<result<<endl;
return 0;
}