fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. long long int power(int a, int b)
  6. {
  7. long long int ret=1;
  8. long long int y=(long long int)a;
  9. int z;
  10. for(z=1;z<=b;z++)
  11. {
  12. ret*=y;
  13. }
  14. return ret;
  15. }
  16.  
  17. int main()
  18. {
  19. long long int l,r;
  20. scanf("%lld%lld", &l,&r);
  21.  
  22. int k;
  23. scanf("%d", &k);
  24.  
  25. double min;
  26. double max;
  27.  
  28. min=log10(l)/log10(k);
  29. max=log10(r)/log10(k);
  30.  
  31. printf("%f\t%f\n", min,max);
  32.  
  33. if(min!=(int)min)
  34. min=((int)min)+1;
  35.  
  36. if(max!=(int)max)
  37. max=((int)max);
  38.  
  39. printf("%f\t%f\n", min,max);
  40. int i;
  41. int count=0;
  42.  
  43. long long int x;
  44.  
  45. for(i=(int)min;i<=(int)max;i++)
  46. {
  47. x=power(k,i);
  48. if(x<=r)
  49. {
  50. printf("%lld ", x);
  51. count++;
  52. }
  53. }
  54.  
  55. if(count==0)
  56. printf("-1");
  57.  
  58. return 0;
  59. }
Success #stdin #stdout 0s 3460KB
stdin
1 243 3
stdout
0.000000	5.000000
0.000000	5.000000
1 3 9 27 81 243