Advertisement
Guest User

Uhh

a guest
Nov 14th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int asc(int num){
  5. int freq[10] = {0};
  6.  
  7. while (num)
  8. {
  9. int d = num % 10;
  10. freq[d]++;
  11. num = num / 10;
  12. }
  13.  
  14. int result = 0;
  15. for (int i = 0 ; i <= 9 ; i++)
  16. {
  17. if (freq[i])
  18. {
  19. result = i;
  20. freq[i]--;
  21. break;
  22. }
  23. }
  24.  
  25. for (int i = 0 ; i <= 9 ; i++)
  26. while (freq[i]--)
  27. result = result * 10 + i;
  28.  
  29. return result;
  30.  
  31. }
  32. int desc(int num){
  33. int freq[10] = {0};
  34.  
  35. while (num)
  36. {
  37. int d = num % 10;
  38. freq[d]++;
  39. num = num / 10;
  40. }
  41.  
  42. int result = 0;
  43. for (int i = 9 ; i <=0 ; i--)
  44. {
  45. if (freq[i])
  46. {
  47. result = i;
  48. freq[i]--;
  49. break;
  50. }
  51. }
  52.  
  53. for (int i = 9 ; i >=1 ; i--)
  54. while (freq[i]--)
  55. result = result * 10 + i;
  56.  
  57. return result;
  58. }
  59. int main(){
  60.  
  61. int n,x;
  62. cout<<"Input integer: ";
  63. cin>>n;
  64. cout<<"Original number was "<<n<<endl;
  65.  
  66. while(true){
  67. int dif = desc(n)-asc(n);
  68. int dif2= desc(dif)-asc(dif);
  69.  
  70. x++;
  71.  
  72. if(dif2!=dif)
  73. dif2=n;
  74. else
  75. cout<<"Chain length is: "<<x;
  76.  
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement