
Solução em Pascal do Problema 3
program alternante;
type Paridade= -1..1;
var n, m, soma;
procedure Bloco (N:Integer; var P:Paridade);
var num, i, PAntes, PAtual, seg: Integer;
alternate : Boolean;
begin
readLn(num);
P:=num mod 2;
i:=2
while (i<=n) and p<>-1 do
begin
readLn(n);
if num mod 2 = P
then i:=i+1
else P:=1
end
end;
begin {Principal}
readLn(n);
m:=1; soma:=1;
while soma<n do
begin
m:=m+1;
soma:=soma+m
end;
if soma>n
then writeLn('Não!');
else begin
readLn(num);
PAntes:=num mod 2;
PAtual:=PAntes;
alternate:=true;
seg:=2;
while (seg<=m) and alternate do
begin
Bloco(seg, PAtual);
if (PAtual+PAntes)<>1
then alternate:=false;
else begin
seg:=seg+1;
PAntes:=PAtual
end
end;
if alternate
then writeLn('A sequencia é M_alternante');
else writeLn('Não!')
end
end.
História
da Computação | Listas de
Exercícios | Problemas Resolvidos | macmulti@ime.usp.br