С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/54: Рейтинг темы: голосов - 54, средняя оценка - 4.52
0 / 0 / 1
Регистрация: 10.05.2011
Сообщений: 36
1

Найти целые числа палиндромы, которые при возведении в квадрат также дают палиндромы (22^2=484)

16.10.2011, 11:21. Показов 10910. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти целые числа-палиндромы, которые при возведении в квадрат также дают палиндромы (22^2=484)
Находил решение этой задачи в инете, но там много операторов и функций которые мы еще не проходили.
Тема задачи: циклы
Нужно решить не использую ни процедур не функций и неизвестных мне операторов)) Можно использовать: усл.оператор,усл. и безусл. переход, оператор выбора, циклы с условием и параметром и все). До меня не доходит как сделать чтобы паскаль прочитал число задом наперед.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2011, 11:21
Ответы с готовыми решениями:

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

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

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

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

9
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
16.10.2011, 12:20 2
Pascal
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
uses crt;
var a,b,i,i1,p,k:integer;
begin
writeln('Введите диапазон чисел [a,b]:');
read(a,b);
writeln('Числа-палиндромы, квадраты которых тоже палиндромы');
k:=0;
for i:=a to b do
 begin
  i1:=i;
  p:=0;
  while i1>0 do
   begin
    p:=p*10+i1 mod 10;
    i1:=i1 div 10;
   end;
  if p=i then
   begin
    i1:=i*i;
    p:=0;
    while i1>0 do
     begin
      p:=p*10+i1 mod 10;
      i1:=i1 div 10;
     end;
    if p=i*i then
     begin
      writeln(i,'  ',i*i);
      k:=1;
     end;
   end
 end;
if k=0 then write('Таких чисел в этом диапазоне нет')
end.
2
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5
18.11.2012, 08:35 3
хм, непонятно, если подставлять числа вручную, то p никогда не будет равно i, почему тогда прога работает?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.11.2012, 08:40 4
Цитата Сообщение от skyto Посмотреть сообщение
то p никогда не будет равно i,
А р вроде должно быть равно i*i....
Pascal
1
2
3
4
5
 if p=i*i then
     begin
      writeln(i,'  ',i*i);
      k:=1;
     end;
Добавлено через 1 минуту
Вообще когда программа как минимум у трех человек работает, не кажется ли Вам глупым искать в ней проблемы?
0
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5
18.11.2012, 09:20 5
Цитата Сообщение от Puporev Посмотреть сообщение
while i1>0 do begin
p:=p*10+i1 mod 10;
i1:=i1 div 10;
end;
if p=i then
вот где p не равно i. Я не ищу проблемы, я хочу понять, почему так, у меня она тоже работает
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.11.2012, 09:26 6
Просто сэкономил на переменных, переменная р сначала определяет палиндром числа i, а потом палиндром числа i*i
0
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5
18.11.2012, 09:38 7
это то понятно, ты её обнуляешь, но я о том, что p:=p*10+i1 mod 10 никогда не будет больше 10, а у тебя дальше идёт, что p=i,а i то это ,например, 11

Добавлено через 1 минуту
я может быть что-то не смыслю, не ругайся, просто объясни, мб я плохо знаю див и мод?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.11.2012, 09:42 8
Цитата Сообщение от skyto Посмотреть сообщение
что p:=p*10+i1 mod 10 никогда не будет больше 10
Это почему? Ведь умножаем на 10 в цикле, можно и миллион получить...

Добавлено через 3 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
for i:=a to b do
 begin
  i1:=i; //например=123
  p:=0;
  while i1>0 do
   begin
    p:=p*10+i1 mod 10;//=3,32,321
    i1:=i1 div 10;//=12,1,0
   end;
  if p=i then //у нас не=, 123 и 321 не палиндромы
0
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 5
18.11.2012, 09:54 9
Цитата Сообщение от Puporev Посмотреть сообщение
p:=p*10+i1 mod 10;//=3,32,321
i1:=i1 div 10;//=12,1,0
после первого прохода получается p=3, i1=12, конечно, но дальше
p=((3*10)+12)/10=4.2
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.11.2012, 10:07 10
но дальше
p=(3*10)+2=32
Учите матчасть и перестаньте выкореживаться...
0
18.11.2012, 10:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2012, 10:07
Помогаю со студенческими работами здесь

найти целые числа которые при возведении в квадрат дают палиндромы
найти целые числа которые при возведении в квадрат дают палиндромы

Найти целые числа которые при возведении в квадрат дают палиндромы
найти целые числа которые при возведении в квадрат дают палиндромы

Найти целые числа, которые при возведении в квадрат дают палиндромы
Помогите пожалуйста с задачей. (Циклические алгоритмы, язык Си). Вот условие: Найти целые числа,...

Найти целые двузначные числа, которые при возведении в квадрат дают палиндромы
Найти цели двузначные числа, которые при возведении в квадрат дают палиндромы. Например, 262 = 676.


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru