fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. #include <cstdlib>
  4. #include <sstream>
  5. #include <cctype>
  6. using namespace std;
  7. bool sprawdz(string tekst); // sprawdza czy liczba jest palimdromem
  8. string konwert(string tekst); // konwertuje z string na int oraz oblicza sume nastepnie spowrotem konwertuje na stringa
  9. int main()
  10. {
  11. int test, r=0;
  12. cin >> test;
  13. string slowo;
  14. for (int i=0;i<test;i++)
  15. {
  16. cin>>slowo;
  17. while(!(sprawdz(slowo)))
  18. {
  19. slowo=konwert(slowo);
  20. r++;
  21. }
  22. cout << slowo << " " << r << endl;
  23. slowo="";
  24. r=0;
  25. }
  26. }
  27.  
  28. string konwert (string tekst)
  29. {
  30. int liczba, liczba_2;
  31. string wynik;
  32. ostringstream ss;
  33. int r=tekst.size()-1;
  34. string tekst2;
  35. for (int i=0;i<tekst.size();i++)
  36. {
  37. tekst2[r]=tekst[i];
  38. r--;
  39. }
  40. liczba=atoi(tekst.c_str());
  41. liczba_2=atoi(tekst2.c_str());
  42. ss << liczba + liczba_2;
  43. wynik = ss.str();
  44. return wynik;
  45. }
  46.  
  47.  
  48.  
  49.  
  50. bool sprawdz(string tekst)
  51. {
  52. int r=tekst.size()-1,x=0,p=tekst.size()-1;
  53. if (tekst.size()%2==0)
  54. {
  55. for (int i=0;i<tekst.size()/2;i++)
  56. {
  57. if (tekst[i]==tekst[r]) x++;
  58. r--;
  59. }
  60. if (x==tekst.size()/2) return 1;
  61. else return 0;
  62. }
  63. else
  64. {
  65. for (int i=0;i<p;i++)
  66. {
  67. if (tekst[i]==tekst[r]) x++;
  68. r--;
  69. }
  70. if (x==p) return 1;
  71. else return 0;
  72. }
  73. }
Success #stdin #stdout 0s 3468KB
stdin
3
68
28
5
stdout
1111 3
3443 3
5 0