fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5. /*
  6. int p[32000];
  7. int ans=1;
  8. void init()
  9. {
  10.   int i ;
  11.   for(i=0; i<32000; i++)
  12.   {
  13.   p[i]=1;
  14.   }
  15. }
  16. void sieve()
  17. {
  18.  
  19.   int i ;
  20.   int j;
  21.   p[0]=0;
  22.   p[1]=0;
  23.   for(i=2; i*i<=32000; i++)
  24.   {
  25.   if(p[i]==1)
  26.   {
  27.   for(j=i*2; j<=32000; j+=i)
  28.   {
  29.   p[j]=0;
  30.  
  31.   }
  32.   }
  33.   }
  34. for(i=2;i<=32000;i++)
  35.   {
  36.   if(p[i]==1)
  37.   printf("%d\n",i);
  38.   }
  39. }
  40. int process(int n)
  41. {
  42.   int ex=0;
  43.   long long ans=1;
  44.   if(n%2==0)
  45.   {
  46.   while(n%2==0)
  47.   {
  48.   n/=2;
  49.   ex++;
  50.   }
  51.   }
  52.   ans*=(ex+1);
  53.   int i;
  54.   for(i=3; i*i<=n; i+=2)
  55.   {
  56.   if(p[i]==1&&n%i==0)
  57.   {
  58.   ex=1;
  59.   while(n%i==0)
  60.   {
  61.   n=n/i;
  62.   ex++;
  63.   }
  64.   ans*=(ex+1);
  65.   }
  66.   }
  67.   if(n>1)
  68.   {
  69.   ans*=2;
  70.  
  71.   }
  72.   return ans;
  73.  
  74. }
  75. int main()
  76. {
  77.   init();
  78.   sieve();
  79.   long long int n,a,b,i,j;
  80.   scanf("%lld%lld%lld",&a,&b,&n);
  81.   int cou=0,check;
  82.   //printf("%d",process(1));
  83.   for(i=a; i<=b; i++)
  84.   {
  85.   if(i==1)
  86.   check=1;
  87.   else
  88.   check=process(i);
  89.   //printf("check is %d\n",check);
  90.   if(check==n)
  91.   {
  92.   printf("i is %lld\n ",i);
  93.   }
  94.   }
  95.   return 0;
  96. }
  97. */
  98. int p[32000];
  99. void init()
  100. {
  101. int i ;
  102. for(i=0;i<=32000;i++)
  103. {
  104. p[i]=1;
  105. }
  106. }
  107. void sieve()
  108. {
  109. int i,j;
  110. p[0]=0;
  111. p[1]=0;
  112. for(i=2;i*i<=32000;i++)
  113. {
  114. if(p[i]==1)
  115. {
  116. for(j=i*2;j*j<=32000;j+=i)
  117. {
  118. p[j]=0;
  119. }
  120. }
  121. }
  122. }
  123. int process(int n)
  124. {
  125. int ex=0;
  126. long long ans=1;
  127. if(n%2==0)
  128. {
  129. while(n%2==0)
  130. {
  131. ex++;
  132. n/=2;
  133. }
  134. }
  135. ans*=ex+1;
  136. int i ;
  137. for(i=3;i*i<=n;i+=2)
  138. {
  139. if(p[i]==1&&n%i==0)
  140. {
  141. ex=1;
  142. while(n%i==0)
  143. {
  144. ex++;
  145. n/=i;
  146. }
  147. ans*=ex+1;
  148. }
  149. }
  150. if(n>1)
  151. {
  152. ans*=2;
  153. }
  154. return ans;
  155. }
  156. int main()
  157. {
  158. init();
  159. sieve();
  160. long long int n,a,b,i,j;
  161. scanf("%lld%lld%lld",&a,&b,&n);
  162. int cou=0,check;
  163. //printf("%d",process(1));
  164. for(i=a; i<=b; i++)
  165. {
  166. if(i==1)
  167. check=1;
  168. else
  169. check=process(i);
  170. //printf("check is %d\n",check);
  171. if(check==n)
  172. {
  173. printf("i is %lld\n ",i);
  174. }
  175. }
  176. return 0;
  177. }
Success #stdin #stdout 0s 4340KB
stdin
1 7 2
stdout
i is 2
 i is 3
 i is 5
 i is 7