kth largest factor of N
Problem
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 the 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
The input is a comma separated list of positive integer pairs (N, k)
Output
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.
Program
#include <stdio.h>
int main() {
int n,k,i,c=0;
scanf("%d",&n);
scanf("%d",&k);
for(i=n;i>=1;i--)
{
if((n%i)==0)
c++;
if(c==k)
{
printf("%d",i);
break;
}
}
if(c!=k)
printf("1");
return 0;
}
Output
12 3
4
You can run it in an online IDE: https://ide.geeksforgeeks.org/6xxVFQA20s
Your feedback are most welcome! If you have any doubt you can contact me or leave a comment!! Cheers!!!
Related Links: The Great Chase
what are you doing look at the constraints once again
ReplyDeletecode will not pass testcases it will give tle