Дано натуральное число n. Найдите все числа, которые могут показать сумму квадратов двух натуральных чисел 1, 2, 3 ..., n. (Необходимо определить процедуры для нахождения полных квадратов)
Program Shifr; var s1,s2,alf:string; i:integer; key, Kod:integer; //ключ шифрования f1,f2:text; BEGIN alf:=''; assign(f1,'Dannie.txt'); assign(f2,'Shifr.txt'); reset(f1); rewrite(f2); writeln('Введите ключ шифрования от 1 до 25:'); readln(key); while Not(Eof(f1)) do begin readln(f1,s1); s2:=''; for i:=1 to length(s1) do begin Kod:=Pos(s1[i],s1); Kod:=Kod+key; if Kod>26 then Kod:=Kod-26; if Kod<1 then Kod:=Kod+26; s2:=s2+alf[Kod]; key:=-key; end; writeln(f2,s2); end; close(f1); close(f2); END.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дано натуральное число n. Найдите все числа, которые могут показать сумму квадратов двух натуральных чисел 1, 2, 3 ..., n. (Необходимо определить процедуры для нахождения полных квадратов)
var s1,s2,alf:string;
i:integer;
key, Kod:integer; //ключ шифрования
f1,f2:text;
BEGIN
alf:='';
assign(f1,'Dannie.txt');
assign(f2,'Shifr.txt');
reset(f1);
rewrite(f2);
writeln('Введите ключ шифрования от 1 до 25:');
readln(key);
while Not(Eof(f1)) do
begin
readln(f1,s1);
s2:='';
for i:=1 to length(s1) do
begin
Kod:=Pos(s1[i],s1);
Kod:=Kod+key;
if Kod>26 then Kod:=Kod-26;
if Kod<1 then Kod:=Kod+26;
s2:=s2+alf[Kod];
key:=-key;
end;
writeln(f2,s2);
end;
close(f1);
close(f2);
END.