Advertisement
Mihajlo_K

6.3 Палиндроми и обратни броеви

Mar 19th, 2019
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1. /* Да се напише програма која на внесен цел број го додава бројот запишан со истите цифри, но во обратен редослед. Потоа програмата проверува дали новодобиениот број е палиндром и на екран печати соодветна порака. Да се напише рекурзивна функција за добивање на број запишан со истите цифри, но во обратен редослед.
  2.  
  3. Пример:
  4.  
  5. влез: 23 -> 23+32=55 => бројот е палиндром
  6.  
  7. влез: 1753 -> 1753+3571=5324 => бројот не е палиндром */
  8.  
  9. #include <stdio.h>
  10. int brojcifri(int x)
  11. {
  12.     int r = 1, temp = x;
  13.     while(temp)
  14.     {
  15.         r = r * 10;
  16.         temp = temp / 10;
  17.     }
  18.     return r/10;
  19. }
  20. int obraten(int x)
  21. {
  22.     if(x < 10)
  23.     {
  24.         return x;
  25.     }
  26.     else
  27.     {
  28.         return x%10 * brojcifri(x) + obraten(x/10);
  29.     }
  30. }
  31. int main()
  32. {
  33.     int n, sum = 0;
  34.     scanf("%d", &n);
  35.     sum = obraten(n)+n;
  36.     if(obraten(sum) == sum)
  37.     {
  38.         printf("E palindrom\n");
  39.     }
  40.     else
  41.     {
  42.         printf("Ne e palindrom\n");
  43.     }
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement