Программа вычисляет простые числа и переводит их в двоичную систему счисления, а проблемма у меня возникла с нахождением симметрмичного двоичного числа..почему-то программа не реагирует на функцию Simmetr.
uses crt;
function FromDec(n, radix:longint):string; // перевод числа в двоичную систему счисления
var
s: String;
const
digit: string[2]='01';
begin
s:='';
repeat
s:=digit[(n mod radix)+1]+s;
n:=n div radix;
until n=0;
FromDec:=s;
end;
function Simmetr(j:integer):boolean; // проверка является ли число симметричным
var
i,n:integer;
b:boolean;
s:string;
begin
b:=true;
for i:=1 to n div 2 do
if s[j]<>s[n-j+1] then simmetr:=true
else simmetr:=false;
end;
// основная программа нахождения простых чисел
var n,i,k,pdel,f:integer;
p, Code : Integer;
Str: string;
begin
clrscr;
repeat
Write('vvedite 4islo n: ');
Readln(str);
Val(Str, p, Code);
if Code<>0 then Writeln('Nepravilnij vvod! Owibka: ',Code) // проверка правильности ввода числа
Else Writeln('Ok!');
until Code = 0;
n:=p;
for i:=2 to n do
begin
pdel:=0;
for k:=2 to i do
if (i mod k) = 0 then pdel:=pdel+1;
begin
if pdel=1 then Write(i,' ');
writeln('=',fromdec(i,2)); // вывод простого числа в двоичной форме
writeln('=', simmetr(i)); // симметр число
end;
end;
readkey;
end.
Сообщение отредактировано: volvo -