Вопрос задан 11.09.2023 в 19:46. Предмет Информатика. Спрашивает Борисенко Максим.

Найти все симметричные натуральные числа (палиндромы) из промежутка от А до В (А и В вводятся с

клавиатуры) Решать через массив.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Тұрсынбай Заңғар.
// #includes {{{
#include <stdio.h>#include <iostream>#include <cmath>#include <algorithm>#include <fstream>#include <vector>#include <complex>#include <queue>#include <set>#include <map>#include <cstdlib>#include <cstdio>#include <cstring>#include <cassert>#include <ctime>#include <cmath>#include <string>#include <deque>#include <list>#include <math.h>#include <fstream>#include <stack>#include <iomanip>#include <bitset>#include <memory.h>#include <bitset>#include <functional>#include <numeric>#include <utility>#include <sstream>#include <ctime>#include <assert.h>#include <stdarg.h>#include <time.h>#include <limits.h>#include <ctype.h>#include <complex>#include <bits/stdc++.h>// }}} // #defines {{{#define exp 1e-10#define sc scanf#define pr printf#define mk make_pair#define pb push_back#define pf push_front#define ll long long#define fi first#define se second#define eps 0.000000001#define INF 1000000007#define file "management"#define eps 0.000000001#define cmd 1000000009#define PI 3.14159265#define MOD 1000000007#define sz(x) ((int)(x).size())#define in(s) freopen(s, "r", stdin);#define pi 3.1415926535897#define rep(i, n) for(__typeof(n) i = 0; i < (n); i++)#define out(s) freopen(s, "w", stdout);#define sync ios_base::sync_with_stdio( 0 )// }}} using namespace std; typedef long long lglg;const int inf = 1<<30, maxN = 1000;int ax[] = {0, 1, -1, 0, 0};int ay[] = {0, 0, 0, -1, 1}; int main(){    string a;    int n, dp[102][102], i, j, px[102][102], py[102][102];    cin >> a;    memset(dp, 0, sizeof(dp));    memset(px, -1, sizeof(px));    a = "." + a;    n = a.size() - 1;    for (i = 1; i <= n; i++)        dp[i][i] = 1;    for (i = n; i >= 1; i--)        for (j = i + 1; j <= n; j++)        {            if (a[i] == a[j] && dp[i][j] < 2 + dp[i + 1][j - 1])            {                dp[i][j] = 2 + dp[i + 1][j - 1];                px[i][j] = i + 1;                py[i][j] = j - 1;            }            if (dp[i][j] < dp[i + 1][j])            {                dp[i][j] = dp[i + 1][j];                px[i][j] = i + 1;                py[i][j] = j;            }            if (dp[i][j] < dp[i][j - 1])            {                dp[i][j] = dp[i][j - 1];                px[i][j] = i;                py[i][j] = j - 1;            }         }    cout << dp[1][n] <<'\n';    int x = 1, y = n, q, w;    vector<char> ans;    char z = 0;    while (px[x][y] != -1)    {        if (px[x][y] == x + 1 && py[x][y] == y - 1)            ans.push_back(a[x]);        q = px[x][y];        w = py[x][y];        x = q;        y = w;    }    if (x == y)        z = a[x];    for (i = 0; i< ans.size(); i++)        cout << ans[i];    if (z != 0)        cout<< z;    for (i = ans.size() - 1; i >= 0; i--)        cout<< ans[i];    return 0; }   
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для нахождения всех палиндромов в заданном промежутке от A до B с использованием массива, вы можете следовать следующим шагам на языке Python:

  1. Введите значения A и B с клавиатуры.
  2. Создайте массив (список) для хранения палиндромов.
  3. Пройдитесь по всем числам в заданном диапазоне от A до B.
  4. Проверьте, является ли текущее число палиндромом (то есть оно равно себе, если его цифры записаны в обратном порядке).
  5. Если текущее число - палиндром, добавьте его в массив.
  6. По завершении цикла, выведите найденные палиндромы.

Вот пример кода на Python:

python
A = int(input("Введите начальное значение A: ")) B = int(input("Введите конечное значение B: ")) palindromes = [] # Массив для хранения палиндромов for num in range(A, B + 1): # Преобразуем число в строку для сравнения цифр num_str = str(num) # Проверяем, является ли число палиндромом if num_str == num_str[::-1]: palindromes.append(num) # Выводим найденные палиндромы print("Палиндромы в диапазоне от", A, "до", B, ":", palindromes)

Этот код позволит вам найти и вывести все палиндромы в заданном диапазоне от A до B, используя массив для их хранения.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос