Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
xenc
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 7
#1

Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы - C++

20.10.2010, 16:18. Просмотров 3151. Ответов 6
Метки нет (Все метки)

Натуральное число называется палиндромом, если его запись читается однинакого с начала и с конца (4884, 393, 1). Найти все числа-паиндромы, которые не больше 100, и их квадраты тоже палиндромы.

помогите сделать прогу без перевода числа в строку
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 16:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы (C++):

Найти числа от 1 до 99 - палиндромы, которые при возведении в квадрат также дают палиндромы (используя циклы) - C++
Задание: Натуральное число является палиндромом, если его запись читается одинаково с начала и с конца (как, например , 393, 1). Найти...

Найти все палиндромы, которые при возведении в квадрат тоже дадут палиндром - C++
нужно написать программу в си. Найти все палиндромы первой сотни , которые при возведении в квадрат тоже дадут палиндром(палиндром - число,...

Вывести на экран все числа-палиндромы (числа, которые одинаково читаются как слева так и справа) - C++
Вывести на экран все числа палиндромы (т.е числа которые читаются одинаково как слева, так и справа) из заданного интервала натурального...

Найти в заданном тексте, состоящем из n строк, все слова палиндромы и числа палиндромы - C++
Сроки жутко горят :( поэтому надеюсь на вашу помощь: Задача: Найти в заданном тексте, состоящем из n строк, все слова палиндромы и...

Найти все числа-перевертыши (палиндромы) из заданного интервала - C++
Привет всем, помогите решить, если можно с комментариями что и как, буду очень благодарен, а то у нас курс как-то слишком быстро вперед...

Найти все палиндромы в диапазоне от n до m, которые при возведении в квадрат также дают палиндром - C++
програма Найти все числа палиндромы в диапазоне от n до m которые при возведении в квадрат так же дают палиндром. как ее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
20.10.2010, 17:41 #2
Вот алгоритм определения палиндромов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#using namespace std;
 
int main()
{
    int num ; int temp;
    for(int i = 1;i <= 100;++i){
        temp = i; num = 0;
        while(temp)
        {
num = num * 10 + (temp%10);
temp /= 10;
        }
 if(num == i) cout << i << endl;
    }
 
system("pause");
}
1
xenc
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 7
20.10.2010, 17:48  [ТС] #3
спасибо большое
0
easybudda
Модератор
Эксперт CЭксперт С++
9624 / 5572 / 946
Регистрация: 25.07.2009
Сообщений: 10,699
20.10.2010, 17:53 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
bool is_palindrom(int num){
    int a, b = 0;
    if ( ! num )
        return false;
    for ( a = num; a; a /= 10 )
        b = b * 10 + a % 10;
    return b == num;
}
 
int main(){
    for ( int i = 10; i < 1000; ++i )
        if ( is_palindrom(i) && is_palindrom(i * i) )
            std::cout << i << '\t' << i * i << std::endl;
    return 0;
}
сделал не больше 1000, а то до ста их 2 всего...
1
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.10.2010, 17:59 #5
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
#include <iostream>
#include <conio.h>
 
bool isPalindrome(int num);
 
int main()
{
    for (int i = 0; i <= 100; i++)
        if (isPalindrome(i) && isPalindrome(i * i))
            std::cout << i << std::endl;
 
    getch();
    return 0;
}
 
bool isPalindrome(int num)
{
    int contrary = 0;
    int temp = num;
 
    while (temp != 0)
    {
        contrary = contrary * 10 + (temp % 10);
        temp /= 10;
    }
 
    if (num == contrary)
        return true;
    else
        return false;
}
Добавлено через 1 минуту
Ё-моё... Надо приучаться жать F5 перед отправкой)))

Не по теме:

easybudda, не два, а шесть... однозначные числа тоже считаются)))

1
easybudda
20.10.2010, 18:34
  #6

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
Надо приучаться жать F5 перед отправкой
ну програмки-то хоть немного различаются... у Вас вон и заголовочных файлов больше...
Цитата Сообщение от silent_1991 Посмотреть сообщение
не два, а шесть... однозначные числа тоже считаются
ну я как-то однозначные числа не стал учитывать, нужно же хотябы две циры, чтобы было, что переворачивать...

0
silent_1991
20.10.2010, 19:37     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы
  #7

Не по теме:

easybudda, ну привычнее мне getch, что тут поделать)))
Про однозначные числа - в пример можно привести отражение массива из нечётного числа элементов: когда доходим до середины - a[i] и a[n - i - 1] - один и тот же элемент, и он меняется местами сам с собой. Да и условие соблюдается - однозначное число что слева направо, что справа налево читается одинаково)))

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2010, 19:37
Привет! Вот еще темы с ответами:

Найти в тексте, состоящем из 1 строки, все слова и числа-палиндромы - C++
Найдите в заданном тексте, состоящем из 1 строки, все слова и числа-палиндромы. Необходимо ввести текст, в котором присутствуют и...

Напечатать все слова-палиндромы,которые есть в этой строке - C++
собственно сабж. буду очень благодарен тому кто поможет,а то я на грани отчисления,а уроки по c++ пролежал дома с переломом ноги =( ...

Дана строка Найти и вывести все слова палиндромы - C++
Дана строка слова в который разделены пробелами необходимо найти и вывести все слова палиндромы. Вот кое какой код я накидал но он...

Считать текст из файла и найти в нем все палиндромы - C++
В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), найти...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.10.2010, 19:37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru