0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 11
1

Проверить является ли натуральное число с i-й по j-ю цифру палиндромом

04.12.2018, 17:01. Показов 2728. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проверить является ли натуральное число N с i-й по j-ю цифру палиндромом рекурсия? Помогите пж, на ссесию нужно, я не знаю через массив или как? Пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2018, 17:01
Ответы с готовыми решениями:

Проверить, является ли натуральное число палиндромом
Помогите, пожалуйста, прояснить несколько моментов в данной программе. Я изучаю С++, поэтому мне...

Дано натуральное число n. Является ли это число палиндромом (перевертышем)
Дано натуральное число n. Является ли это число палиндромом (перевертышем) с учетом всех цифр,...

Является ли заданное натуральное число палиндромом
Вообщем надо решить задачки, а я в паскале полный ноль, помогите пожалуста! №1 Пусть п - целое...

Определить, является ли натуральное число палиндромом
Необходимо выполнить задание - написать JS-код, с помощью которого можно определить, является ли...

10
14 / 17 / 11
Регистрация: 20.10.2018
Сообщений: 98
04.12.2018, 20:12 2
Да
Надо идти по массиву с двух сторон с границами left = min(i, j) и riglt = max(i, j) и сравнивать правый и левый элементы:
Если они равны идем дальше пока left != right
В ином случае число не палиндром
0
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 11
05.12.2018, 03:10  [ТС] 3
Сможете помочь с написанием, у меня не получается....

Добавлено через 55 секунд
0
14 / 17 / 11
Регистрация: 20.10.2018
Сообщений: 98
05.12.2018, 22:42 4
Лучший ответ Сообщение было отмечено serjey123 как решение

Решение

Фрагмент
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool palindrom(int i, int j)
{
 int left = i, right = j;
 while (left != right)
 {
     if (m[i] != m[j])
          rerturn false;
      left ++;
      right ++;
 }
 return true;
}
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 11
06.12.2018, 00:22  [ТС] 5
А разве если мы идем справа налево будет не --right?
0
14 / 17 / 11
Регистрация: 20.10.2018
Сообщений: 98
06.12.2018, 22:11 6
Ой
Мой косяк
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 11
08.12.2018, 16:30  [ТС] 7
А сможете написать продолжение? У меня 2 день не получается правильно написать его....
0
14 / 17 / 11
Регистрация: 20.10.2018
Сообщений: 98
09.12.2018, 00:13 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <bits/stdc++.h>
 
using namespace std;
 
bool palindrom(int m[],int i, int j)
{
 int left = i, right = j;
 while (left != right)
 {
     if (m[i] != m[j])
          rerturn false;
      left ++;
      right --;
 }
 return true;
}
 
int main()
{
    int m[1000], i ,j, size;
    char k;
    cin >> size;
    for (int i = 0 ; k != ' '; i ++)
    {
         cin >> k;
         m[i] = k - 48;
    }
    cin >> i >> j;
    if (palindrom(m, i, j)) cout << "Palindrom\n";
    else cout << " NE palindrom\n";
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 11
10.12.2018, 00:36  [ТС] 9
Не работает, k не определена в for цикле, и не понятно что выбивает, что такое k-48? Можно проверить и чтобы работало написать?
0
14 / 17 / 11
Регистрация: 20.10.2018
Сообщений: 98
10.12.2018, 21:48 10
Лучший ответ Сообщение было отмечено serjey123 как решение

Решение

Этот код точно будет работать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <bits/stdc++.h>
 
using namespace std;
 
bool palindrom(int m[],int i, int j)
{
 int left = i , right = j ;
 while (left != right)
 {
     if (m[left] != m[right])
          return false;
      left ++;
      right --;
 }
 return true;
}
 
int main()
{
    int m[1000], i ,j, size;
    char k;
    cin >> size;
    for (int i = 1 ; i <= size; i ++)
    {
         cin >> k;
         m[i] = k - 48;
    }
    cin >> i >> j;
    if (palindrom(m, i, j)) cout << "Palindrom\n";
    else cout << "Ne palindrom\n";
    return 0;
}
Цитата Сообщение от serjey123 Посмотреть сообщение
что такое k-48
Это перевод символа числа в число (в нашем случае цифры в цифру)
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 11
13.12.2018, 00:11  [ТС] 11
спасибо , все работает
0
13.12.2018, 00:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2018, 00:11
Помогаю со студенческими работами здесь

Является ли заданное натуральное число палиндромом?
1. Для учащихся закупленно 100 билетов в кино на общую сумму 3400 рублей. Билеты стоят 30 и 40....

Дано натуральное число n. Является ли это число палиндромом
Дано натуральное число n. Является ли это число палиндромом (перевертышем) с учетом всех цифр,...

Определить, является ли натуральное число n (n<=9999) палиндромом
4. Определить, является ли натуральное число n (n&lt;=9999) палиндромом (перевертышем) с учетом ...

Определить, является ли четырехзначное натуральное число N палиндромом
Требуется написать программу, определяющую, является ли четырехзначное натуральное число N...


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

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

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