Пожалуйста, помогите! У меня горят сроки по лабам, сам только-только начал изучать с++. Несколько часов бился над этой задачей, но так и не смог решить(хотя принцип вроде понимаю): Дано натуральное 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;
}
Answers & Comments
Лови
#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";
}