Предмет: Информатика, автор: timgerasimchik87

Пожалуйста, помогите! У меня горят сроки по лабам, сам только-только начал изучать с++. Несколько часов бился над этой задачей, но так и не смог решить(хотя принцип вроде понимаю): Дано натуральное n. Определить, является ли это число палиндромом. Напишите пожалуйста код, без массивов, строк и классов, просто используя циклы, буду очень благодарен)
Вот, что я написал:
#include
#include
#include
using namespace std;
int main()
{
setlocale(0, "rus");
int n, sum(0);
double i(0.0);
begin: cout << ("Введите натуральное число n: ") << endl;

cin >> n;
int copy_n1 = n;
if (n < 0) goto begin;
while (copy_n1 > 0)
{
copy_n1 /= 10;
++i;
}
int copy_n2 = n;
const int copy_i = i;
for (int k = 0; k < copy_i; ++k)
{
i -= 1;
double a = pow(10.0, (double)i); //Дальше вообще не знаю, что писать
int y = copy_n2 / int(a);
sum += (a*y);
}
cout << sum << endl;
system("pause");
return 0;
}

Ответы

Автор ответа: varex
1

Лови

#include <bits/stdc++.h>

using namespace std;

int n;

int main() {

   cin >> n;

   int tmp, t = 0;

   tmp = n;

   while (tmp > 0) {

       t *= 10;

       t += tmp%10;

       tmp /= 10;

   }

   if (t == n) cout << "YES\n";

   else cout << "NO\n";

}



timgerasimchik87: А вы могли бы объяснить вообще принцип? Буду признателен)
timgerasimchik87: А как мою программу можно было доделаь?
varex: Напишите в инстаграм: @8.bogdan.8
timgerasimchik87: у меня его нет
timgerasimchik87: можете здесь ответить?
timgerasimchik87: Пожалуйста. Мне это надо очень срочно!!!!!!
Похожие вопросы
Предмет: Алгебра, автор: shdjizyb28