5 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 137
1

Проверить симметричность числа

16.09.2017, 14:43. Показов 8106. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите любое другое целое число. Число может иметь меньше четырех знаков, тогда нужно считать, что его десятичная запись дополняется слева незначащими нулями.

C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <math.h>;
using namespace std;
int main() {
    int n;
    cin >> n;
    cout << pow((n / 1000 - n % 10), 2) + pow(((n % 1000) / 100 - (n % 100) / 10), 2) + 1;
  return 0;
}
Объясните почему здесь необходимо разности возводить в квадрат.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2017, 14:43
Ответы с готовыми решениями:

Проверить строки матрицы на симметричность
Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я...

Проверить k строку массива N*M на симметричность
Проверить k строку массива N*M на симметричность int begin=0,end=m; char polindrom=true; ...

Проверить симметричность матрицы относительно главной и побочной диагонали
Дана квадратная целочисленная матрица. Проверить, является ли она симметричной относительно...

Проверить на симметричность
Проверить целочисленную матрицу NxM на симметричность относительно строк. Как объяснил...

7
Заблокирован
16.09.2017, 15:03 2
отрицательный знак убрать если есть
для 1735
0
5 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 137
16.09.2017, 15:34  [ТС] 3
Если не симметричное число, то можно же выводить любое целое, какая разница в этом случае положительное или отрицательное
0
Заблокирован
16.09.2017, 15:38 4
C++
1
2
3
    int n=1735;
    //cin >> n;
    cout << pow((n / 1000 - n % 10), 1) + pow(((n % 1000) / 100 - (n % 100) / 10), 1) + 1;
убрал квадраты
0
5 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 137
17.09.2017, 15:47  [ТС] 5
Спасибо огромное за ответ. Но я все равно не понимаю, зачем вообще возводить в степень, даже в 1ую. Если вас не затруднит, поясните словами.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,862
17.09.2017, 16:32 6
Разумеется, незачем. Достаточно разбить число на цифры и проверить их:
C
1
2
3
4
5
6
char digits[4];
digit[0] = num % 10; num /= 10;
digit[1] = num % 10; num /= 10;
digit[2] = num % 10; num /= 10;
digit[3] = numl
if(digit[0] == digit[3] && digit[1] == digit[2]){...}
0
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
18.09.2017, 13:54 7
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main(void)
{
    int n;
    cin >> n;
    cout << (n / 100 == n % 10 * 10 + n / 10 % 10) << endl;
    return 0;
}
0
818 / 621 / 321
Регистрация: 24.02.2017
Сообщений: 2,199
18.09.2017, 14:23 8
LazySlacker,
0
18.09.2017, 14:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2017, 14:23
Помогаю со студенческими работами здесь

проверить симметричность отношения
Здравствуйте! Подскажите плз, как проверить отношение на симметричность. Я сделал так :...

Проверить функции на периодичность и симметричность
1) y=sin(ln(x)) 2) y=cos(x2-x-1) как их проверить на периодичность и симметричность?

Как проверить симметричность в массиве строк?
Дан массив строк.Если стока симметрична,то... Подскажите как проверить симметричность в массиве...

Проверить матрицу на рефлексивность, симметричность и транзитивность
Ошибка: массив имеет другое количество размерностей Задание: проверить матрицу на рефлексивность,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru