Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
14 / 14 / 5
Регистрация: 07.11.2010
Сообщений: 57
1

Поиск чисел, которые является палиндромами как в dec так и в bin без использования функций

07.11.2010, 22:09. Показов 715. Ответов 4
Метки нет (Все метки)

Добрый день, данную задачу я решил, но в процессе отладки обнаружил один неприятный баг - после числа 717 моя программа работает крайне некорректно. Не могли бы Вы, форумчане, помочь мне?

Вот код моей программы (сильно не ругайте студента-первокурсника ):
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
35
36
37
38
39
40
41
42
var a,a1,k,j,x,s_i,int:longint;
    err :integer;
    st,s:string;
 
 
begin
  for j:=1 to 1000000 do
   begin
    a:=j;
    a1:=j;
    s_i:=0;{запомним число, начнем делать новое}
    while a>0 do
     begin
      k:=a mod 10;{берем последнюю цифру}
      s_i:=10*s_i+k;{добавим ее к тому что уже было, умноженному на 10}
      a:=a div 10;{берем число без последней цифры и все повторяем, пока число не кончится}
     end;
    if s_i=a1 then
    
     Begin
         s:='';
         x:=j;
         while x>0 do
          begin
           s:=chr(ord('0')+x mod 2)+s;
           x:=x div 2;
          end;
          st:=s;
          
          val(st,int,err);{Преобразуем из STRING в INTEGR}
          
          a:=int;a1:=int;s_i:=0;
          while a>0 do
     begin
      k:=a mod 10;{берем последнюю цифру}
      s_i:=10*s_i+k;{добавим ее к тому что уже было, умноженному на 10}
      a:=a div 10;{берем число без последней цифры и все повторяем, пока число не кончится}
     end;
     End;
if s_i=a1 then writeln(j,' ',int);
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2010, 22:09
Ответы с готовыми решениями:

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

Перевод чисел Bin - Oct - Dec - Hex
Существуют ли функции для перевода числа (или строки из цифр) из одной системы счисления (по...

Получить числа, которые являются палиндромами как в десятичной, так и в двоичной системах
Получить все меньше 10 в 6степени нат числа, которые являютсяполиндромами как в десятичной, так и в...

Из bin в dec и из oct в dec
нужно создать что-то типо программного конвертера, есть edit, там вводится число, например...

4
Платежеспособный зверь
8737 / 4159 / 1604
Регистрация: 28.10.2009
Сообщений: 11,265
07.11.2010, 22:26 2
Не надо числа бешеные писать, тем более в двоичной системе, для этого есть массивы и сравнение элементов, равноотстоящих от конца и начала
0
14 / 14 / 5
Регистрация: 07.11.2010
Сообщений: 57
07.11.2010, 22:30  [ТС] 3
кот Бегемот, я бы с радостью и не писал бы 10^6, но лабараторная обязывает :-(
не могли бы Вы покать или хотя бы описать метод "сравнение элементов, равноотстоящих от конца и начала".

P.S.: Я не уточнил: ни функций ни массивов использовать нельзя :-( Такой вот у нас преподователь жёсткий(
0
Платежеспособный зверь
8737 / 4159 / 1604
Регистрация: 28.10.2009
Сообщений: 11,265
07.11.2010, 22:48 4
если бы это был массив, это выглядело бы так:
Pascal
1
2
3
for i:=1 to do
if a[i]<>a[n-i+1]then f:=1;
if f=0 then writeln('yes')else writeln('no');
попробуйте сделать то же самое через div и mod
0
14 / 14 / 5
Регистрация: 07.11.2010
Сообщений: 57
07.11.2010, 22:55  [ТС] 5
кот Бегемот, спасибо, буду думать, но есть неподдельное чувство страха, что ничего из это не выйдет
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2010, 22:55

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Получить все натуральные числа <10^6, которые являются палиндромами как в десятичной, так и в 16-ричной системах
Помогите, пожалуйста. Столько времени ушло на задачу, а до сих пор не понятно как сделать. ...

Генератор псевдослучайных чисел без использования встроеных функций php
Здраствуйте, нужна помощь в написании генератора псевдослучайных чисел с последующей проверкой...

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

Массив: Выяснить, является ли последовательность чисел убывающей без использования массивов.
Выяснить является ли последовательность чисел убывающей без использования массивов. Пользователь...

Дан массив целых чисел. Вывести все уникальные элементы без использования функций
Задан массив, необходимо вывести цифры без повторений, через цикл foreach без использования функций...

Поиск простых чисел без использования массивов
День добрый! Хочу сразу заметить что не являюсь программистом или математиком, но читая книгу...


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

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

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