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

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

Войти
Регистрация
Восстановить пароль
 
kiberprestupnik
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 15
#1

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

01.12.2014, 22:15. Просмотров 729. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2014, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти числа от 1 до 99 - палиндромы, которые при возведении в квадрат также дают палиндромы (используя циклы) (C++):

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

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

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

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

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

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

8
trots93
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
kiberprestupnik
0 / 0 / 0
Регистрация: 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
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
01.12.2014, 23:40 #4
Цитата Сообщение от kiberprestupnik Посмотреть сообщение
C++
1
i = number;
убери 11 строку
0
kiberprestupnik
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 15
01.12.2014, 23:43  [ТС] #5
Zver6233, всё-равно не работает
0
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
01.12.2014, 23:49 #6
Цитата Сообщение от kiberprestupnik Посмотреть сообщение
Zver6233, всё-равно не работает
а до того код работал?
0
kiberprestupnik
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 15
02.12.2014, 00:04  [ТС] #7
Zver6233, нет, работала только самая первая версия (та что в шапке темы)
0
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
02.12.2014, 00:21 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от 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
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,344
Завершенные тесты: 1
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
02.12.2014, 00:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2014, 00:36
Привет! Вот еще темы с ответами:

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

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

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

Найти сумму таких чисел в диапазоне [a; b], которые при возведении в квадрат превышают b - C++
Всем привет,надо составить блоксхему к этому заданию. Вводятся числа a и b. Найти сумму таких чисел в диапазоне , которые при...


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

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

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