Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отбор палидромов простых чисел в двоичной сс.

63K
12 октября 2010 года
JIexa69
2 / / 11.10.2010
Найти все простые числа, не превосходящие натурального числа N, двоичная запись которых представляет палиндром. N задано и не больше 1000. Палиндром – число, которое имеет одинаковое изображение при чтении слева направо и справа налево (см. Вар. №4).
Код:
program RGR1_z2_v16;
var a,b,c,q:longint;
     N,i,k,s,r,z:integer;
begin
q:=1000
for a:=1 to q-1 do
  begin
       c:=0;
       for b:=1 to a do  if a mod b=0 then c:=c+1;
       if c=2 then
       k:=0;
       s:=b;
       while s>0 do
       begin
            s:=s div 2;
             k:=k+1;
       end;
     while k>0 do
      begin
        s:=b;
        for N:=1 to k-1 do
        s:=s div 2;
        r:= s mod 2;
        k:=k-1;
        write (r);
      end;
write (' ');
end;
end;
readln;
end.

вот моя beta v1.0. Её проблемма в том что числа в двоичной системе она записывает как.
Пример:
Натуральное число 997 в двоичной системе выводится как 1111100101.
Когда как на самом деле (из-за write (r)) оно хранится как отдельные "0" и "1".
Т.е. число "1111100101" в программе "1""1""1""1""1""0""0""1""0""1".
Помогите с новой програмкой перевода чсел в двоичную сс. Чтобы мoжно было продолжить работать с этими числами.

[COLOR="Red"]Оформлять код по Правилам.[/COLOR]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог