Hi All,

I am writing a program to find the smallest positive integer that has n or more divisors. My program gives me correct answer for input values upto 4 but it produces erroneous answers for input values above 4. For example, it gives 10 as integer having 5 divisors).

Please point out errors or modifications. Below is the program:

Code:/*program to find smallest positive integer that has n or more divisors excluding itself*/ #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int n,i,posinteger=1,count=0,halfposinteger=0; printf("enter the number of divisors"); scanf("%d",&n); if(n<=4) { for(i=1;i<=n;i++) { posinteger*=i; } } else { posinteger=8; while(count!=n) { posinteger+=1; halfposinteger=floor(posinteger/2); for(i=1;i<=halfposinteger;i++) { if(posinteger%i==0) { count+=1; } } } } printf("the smallest positive integer with %d divisors is %d",n,posinteger); system("pause"); return 0; }