// PascalABC.NET 3.2, сборка 1381 от 04.02.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:set of integer:=[]; for var i:=1 to 254 do begin var flag:=True; var j:=2; var r:=round(sqrt(i)); while flag and (j<=r) do if i mod j = 0 then flag:=false else j+=1; if flag then if i mod 4=3 then s+=[i] end; foreach var x in s do Print(x); end.
Procedure convert ( x: integer ); var s: string; k, error, len: integer; element: array[1..20] of real; i, rez: real; const N = -2; begin s := IntToStr(x); len := length(s); if len = 0 then writeln('Ошибка!') else begin i := 0; rez := 0; for k := 1 to len do val(s[k], element[k], error); for k := 1 to len do begin i := element[k] * power( N, len - k ); rez := rez + i; end; writeln(rez); end; end;
var numeric: integer; begin write('Введите двоичное число для перевода в систему счисления с основанием (-2): '); readln(numeric); write('ответ: '); convert(numeric); end.
ответ везде 234
Объяснение: