Advertisement
Saleh127

UVA 974

Nov 13th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int t; cin>>t; for(int cs=1;cs<=t;cs++)
  5. ll k[100005]={0};
  6.  
  7. bool check(ll a,ll b)
  8. {
  9. ll d=0,r=0,v=10;
  10. while(a/v)
  11. {
  12. r=a%v;
  13. d=a/v;
  14. v*=10;
  15. if(d && r)
  16. {
  17. if(r+d==b) return 1;
  18. }
  19. }
  20. return 0;
  21. }
  22.  
  23. void kaprekarnumber()
  24. {
  25.  
  26. k[9]=k[45]=k[55]=1;
  27. ll i,j;
  28. for(i=91;i<=40000;i++)
  29. {
  30. j=i*i;
  31. if(check(j,i))
  32. {
  33. k[i]=1;
  34. }
  35. }
  36. }
  37.  
  38. int main()
  39. {
  40. ios_base::sync_with_stdio(0);
  41. cin.tie(0);cout.tie(0);
  42.  
  43. kaprekarnumber();
  44.  
  45. test
  46. {
  47. ll a,b,i,j=0;
  48. cin>>a>>b;
  49. if(cs>1) cout<<endl;
  50.  
  51. cout<<"case #"<<cs<<endl;
  52. for(i=a;i<=b;i++)
  53. {
  54. if(k[i]==1)
  55. {
  56. j++;
  57. cout<<i<<endl;
  58. }
  59. }
  60. if(!j) cout<<"no kaprekar numbers"<<endl;
  61. }
  62.  
  63.  
  64. return 0;
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement