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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
xenc
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 7
20.10.2010, 16:18     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы #1
Натуральное число называется палиндромом, если его запись читается однинакого с начала и с конца (4884, 393, 1). Найти все числа-паиндромы, которые не больше 100, и их квадраты тоже палиндромы.

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

Найти все палиндромы, которые при возведении в квадрат тоже дадут палиндром C++
Дана строка Найти и вывести все слова палиндромы C++
C++ Напечатать все слова-палиндромы,которые есть в этой строке
C++ Считать текст из файла и найти в нем все палиндромы
В строке, состоящей из слов и знаков препинания найти все слова-палиндромы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
20.10.2010, 17:41     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы #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");
}
xenc
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 7
20.10.2010, 17:48  [ТС]     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы #3
спасибо большое
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
20.10.2010, 17:53     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы #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 всего...
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.10.2010, 17:59     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы #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, не два, а шесть... однозначные числа тоже считаются)))

easybudda
20.10.2010, 18:34
  #6

Не по теме:

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

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

Не по теме:

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

Yandex
Объявления
20.10.2010, 19:37     Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы
Ответ Создать тему
Опции темы

Текущее время: 06:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru