Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 31.12.2013
Сообщений: 15
1

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

01.12.2014, 22:15. Показов 2547. Ответов 8
Метки нет (Все метки)

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

Моё решение:
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
33
34
35
#include <iostream>
using namespace std;
 
int main()
{
int i, number, result; // переменные для внешнего цикла
int j, number_2, result_2;// переменные для внутреннего цикла
 
cout<<"Input number: ";
cin>>number;
 
i=number;
result=0;
 
 while(i>0)
 {
 result=result*10+i%10;
 i=i/10;
 
  if (number==result)
  {
    number_2 = result*result;
    j = number_2;
    result_2 = 0;
    while(j>0)
     {
        result_2=result_2*10+j%10;
        j = j/10;
     }
    if(number_2 == result_2) cout<<"result is"<<number_2<<endl;
  }
 }
 
return 0;
}
Программа в принципе работает нормально. Единственная проблема заключается в том, что для того чтобы найти все искомые значения, пользователю придётся вручную ввести числа от 1 до 99. Поэтому мой вопрос: как сделать так, чтобы программа перебрала все числа от 1 до 99 автоматически после её запуска и вывела результат в виде списка? (Не используя при этом массивы)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2014, 22:15
Ответы с готовыми решениями:

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

Найти целые числа, которые при возведении в 3, или 4, или 5 степень дают палиндромы
Найдите целые числа, которые при возведении в 3, или 4, или 5 степень дают палиндромы, например,...

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

Определить количество целых чисел которые при возведения в квадрат дают палиндромы
помогите решить задачу на с++ с помощью двух циклов while и условий из диапазона от определить...

8
11 / 11 / 0
Регистрация: 18.09.2012
Сообщений: 54
01.12.2014, 23:26 2
Цикл
C++
1
2
3
4
for(int i = 1; i <= 99; i++)
{
// тело программы
}
0
0 / 0 / 1
Регистрация: 31.12.2013
Сообщений: 15
01.12.2014, 23:34  [ТС] 3
trots93, у меня получился такой код (по вашему примеру), и он не работает.
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
33
#include <iostream>
using namespace std;
 
int main()
{
int i, number, result; // переменные для внешнего цикла
int j, number_2, result_2;// переменные для внутреннего цикла
 
for(i=1; i<=99; i++)
{
 i = number;
 result = 0;
 while(i>0)
 {
 result=result*10+i%10;
 i=i/10;
 
  if (number==result)
  {
    number_2 = result*result;
    j = number_2;
    result_2 = 0;
    while(j>0)
     {
        result_2=result_2*10+j%10;
        j = j/10;
     }
    if(number_2 == result_2) cout<<"result is"<<number_2<<endl;
  }
 }
}
return 0;
}
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
01.12.2014, 23:40 4
Цитата Сообщение от kiberprestupnik Посмотреть сообщение
C++
1
i = number;
убери 11 строку
0
0 / 0 / 1
Регистрация: 31.12.2013
Сообщений: 15
01.12.2014, 23:43  [ТС] 5
Zver6233, всё-равно не работает
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
01.12.2014, 23:49 6
Цитата Сообщение от kiberprestupnik Посмотреть сообщение
Zver6233, всё-равно не работает
а до того код работал?
0
0 / 0 / 1
Регистрация: 31.12.2013
Сообщений: 15
02.12.2014, 00:04  [ТС] 7
Zver6233, нет, работала только самая первая версия (та что в шапке темы)
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
02.12.2014, 00:21 8
Лучший ответ Сообщение было отмечено kiberprestupnik как решение

Решение

Цитата Сообщение от kiberprestupnik Посмотреть сообщение
ver6233, нет, работала только самая первая версия (та что в шапке темы)
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
33
34
35
36
37
38
39
40
41
42
43
44
#include <vcl>
#include <conio>
#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
#include <fstream>
using namespace std;
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int i, number, result; // ïåðåìåííûå äëÿ âíåøíåãî öèêëà
int j, number_2, result_2;// ïåðåìåííûå äëÿ âíóòðåííåãî öèêëà
 
cout<<"Input number: ";
 
for(number=1;number<99;number++)
{
i=number;
result=0;
 
 while(i>0)
 {
 result=result*10+i%10;
 i=i/10;
 
  if (number==result)
  {
    number_2 = result*result;
    j = number_2;
    result_2 = 0;
    while(j>0)
     {
        result_2=result_2*10+j%10;
        j = j/10;
     }
    if(number_2 == result_2) cout<<"result is"<<number_2<<endl;
  }
 }
 }
getch();
}
1
1182 / 467 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
02.12.2014, 00:36 9
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
bool isPalindrom(int num);
 
int main()
{
    for(int i=10;i<=99;i++)
        if(isPalindrom(i)==1)
            if(isPalindrom(i*i)==1)
                cout<<i<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
 
 
bool isPalindrom(int num)
{
    int array[8];
    int iDigit  = 0;
    int nDigits = 0;
    bool bPalindrom = num >0;
    for(nDigits = 0; bPalindrom && num; nDigits++)
    {
        array[nDigits] = num % 10;
        num = num / 10;
    }
    for(iDigit  = 0; iDigit < nDigits / 2 && bPalindrom; iDigit++)
        bPalindrom = (array[iDigit] == array[nDigits - 1 - iDigit]);
    return bPalindrom;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2014, 00:36

Найти все меньшие 100 натуральные числа, которые при возведении в квадрат дают палиндром.
Назовем натуральное число палиндромом, если его запись читается одинаково с начала и с конца...

Найти все меньшие 100 натуральные числа, которые при возведении в квадрат дают палиндром
Назовём натуральное число палиндромом, если его запись читается одинаково как с начала так и с...

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

вводятся числа a и b. Надо найти сумму таких чисел в диапазоне [a;b], которые при возведении в квадрат дают число с последней цифрой 6.
Помогите пожалуйста написать программку, вот задание - вводятся числа a и b. Надо найти сумму таких...


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

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

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