fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. const int TEN = 10;
  6. int n, result;
  7.  
  8. cin >> n;
  9.  
  10. // Dacă n are două cifre și se termină cu zero
  11. if (n < TEN * TEN && n % TEN == 0) {
  12. cout << n;
  13. return 0;
  14. }
  15.  
  16. // Dacă n are mai mult de două cifre
  17. int copyN = n;
  18. int power = 1;
  19.  
  20. // Determină puterea corespunzătoare (pentru a extrage cifre de la stânga)
  21. while (copyN >= 10) {
  22. power *= 10;
  23. copyN /= 10;
  24. }
  25.  
  26. // Extrage penultima cifră (de la stânga)
  27. int penDigit = (n / (power / 10)) % 10;
  28.  
  29. // Extrage a doua cifră (de la stânga)
  30. int secDigit = (n / (power / 100)) % 10;
  31.  
  32. // Construiește noul număr
  33. result = 0;
  34. int temp = n;
  35. int newPower = 1;
  36.  
  37. while (temp > 0) {
  38. int digit = temp % 10;
  39. if (temp / 10 == 0) {
  40. // ultima cifră
  41. result += digit * newPower;
  42. } else if (temp / 10 == 1 && digit == 0) {
  43. // cazul în care vrem să păstrăm ultima cifră dacă e zero
  44. result += digit * newPower;
  45. } else if (temp == n && n >= 100) {
  46. // dacă vrem să înlocuim anumite cifre, logică trebuie definită
  47. // aici poți ajusta în funcție de ce vrei să realizezi
  48. }
  49. newPower *= 10;
  50. temp /= 10;
  51. }
  52.  
  53. // Exemplu de afișare (poți ajusta după nevoie)
  54. cout << result;
  55.  
  56. return 0;
  57. }
  58.  
Success #stdin #stdout 0.01s 5292KB
stdin
12345
stdout
10000