ho appena letto una mail che mi ha mandato il proff...vi riporto qui sotto uno degli allegati...
Susi N. 850
Gianni deve comprare una cassaforte e si è fatto accompagnare da Susi in un bel negozio: anche qui, tra scatti e rotelle, i due amici trovano il modo di … far lavorare il cervello!
(Vedi il 3829° CONCORSO SETTIMANALE de “LA SETTIMANA ENIGMISTICA” in edicola)
D. Quali sono, nell’ordine dal più piccolo al più grande, i primi due numeri della combinazione ?
[R.: (x, y, z) = (0, 1, 3)]
program Susi850;
const n=9; m=4;
var a,b,c,x,y,z:INTEGER;
begin
for b:=1 to m do
for c:=1 to m do begin
a:=n-b-c; x:=a mod m;
y:=x-b mod m; if y<0 then y:=m+y;
z:=(y+c) mod m;
if (z=m-1)and(x<>y)and(x<>z)and(y<>z)and(a<=m) then
writeln(a,',',b,',',c,' ',x,',',y,',',z);
end;
readln;
end.
a: primo scatto
b: secondo scatto
c: terzo scatto
Programma di utilità: serve per … far “girare le rotelle”
program circolare;
const m=4;
var c,h:integer;
begin
writeln; writeln('Circolazione in Senso'); writeln('Orario');
for c:=1 to 10 do write(1+(c-1) mod m:5);
writeln;
for c:=-10 to -1 do write(-1+(c+1) mod m:5);
writeln;
for c:=-10 to 10 do begin
h:=0; if c<>0 then h:=c div abs(c);
write(h+(c-h) mod m:5);
end;
writeln;
for c:=-10 to 10 do write(c mod m:5);
writeln; writeln('Antiorario');
for c:=10 downto 1 do write(1+(c-1) mod m:5);
writeln;
for c:=-1 downto -10 do write(-1+(c+1) mod m:5);
writeln;
for c:=10 downto -10 do begin
h:=0; if c<>0 then h:=c div abs(c);
write(h+(c-h) mod m:5);
end;
writeln;
for c:=10 downto -10 do write(c mod m:5);
readln;
end.
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento