mihainan

Lab4 PC - ex 5 (CA)

Oct 23rd, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int number_of_digits(int n)
  4. {
  5.     if(n == 0)
  6.         return 0;
  7.     else
  8.         return 1 + number_of_digits(n/10);
  9. }
  10.  
  11. int power(int x, int y)
  12. {
  13.     if(y == 0)
  14.         return 1;
  15.     else
  16.         return x * power(x, y-1);
  17. }
  18.  
  19. int reverse_number(int n)
  20. {
  21.     int nr, rez, rest;
  22.     if(n == 0 )
  23.     {
  24.         return 0;
  25.     }
  26.     else
  27.     {
  28.         rest = n % 10;
  29.         nr = number_of_digits(n/10);
  30.         rez = rest * power(10, nr);
  31.         return reverse_number(n / 10) + rez;
  32.     }
  33. }
  34.  
  35. /*
  36.     Afiseaza 1 daca este palindrom si 0 in rest!
  37. */
  38. int palindrome(int nr)
  39. {
  40.     if(nr == reverse_number(nr))
  41.         return 1;
  42.     else
  43.         return 0;
  44. }
  45.  
  46. int next_palindrome(int nr)
  47. {
  48.     while(!palindrome(nr))
  49.     {
  50.         nr++;
  51.     }
  52.     return nr;
  53. }
  54.  
  55. int main()
  56. {
  57.     int x, nr;
  58.     scanf("%d ", &x);
  59.     nr = reverse_number(x);
  60.     printf("%d\n", nr);
  61.     nr = next_palindrome(120);
  62.     printf("%d\n", nr);
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment