View Full Version : pascal...
marcus81
15-11-2002, 20:03
come fare stampare in pascal la successioni di tutti i numeri divisibili solo x 2,3,5?
L'ho fatto cosė...
program Esercizio_1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n,i,a:integer;
begin
i:=0;
a:=1;
writeln('Programma che visualizza la successione di numeri divisibili');
writeln('solo per 2,3,5');
writeln;
write('Inserisci l''intero N,numero di elementi della successione: ');
read(n);
repeat
if ((a mod 2)=0) or ((a mod 3)=0) or ((a mod 5)=0) or (a=1)
begin
write(a,'-');
a:=a+1;
end
else
begin
write(a+1,'-');
a:=a+2;
end;
i:=i+1;
until i=n;
readln;
readln
end.
ma ovviamente mi stampa i numeri divisibili anke x altri primi....cosa dovrei aggiungere?
Prof wrote:
program numdiv;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n, num, i, cont: integer;
begin
writeln ('inserisci quanti elementi della successione vuoi calcolati');
readln (n);
i:= 1; num:= i; cont:= 1;
write(i:6);
while cont <=n -1 do
begin
i:=i+1; num:= i;
while (i mod 2 = 0) and (i>0)do
i:= i div 2;
while (i mod 3 = 0) and (i>0)do
i:= i div 3;
while (i mod 5 = 0) and (i>0)do
i:= i div 5;
if i = 1 then
begin cont:= cont+1; write (num:6) end;
i:= num;
end;
readln
end.
monkey72
15-11-2002, 23:11
ma i numeri della successione devono essere divisibili SOLO x 2 o solo per 3 o solo per 5 oppure solo per 2, 3, 5 contemporaneamente? :confused:
marcus81
16-11-2002, 10:07
i numeri devono essere divisibili:
per 2 e/o per 3 e/o per 5...
per GOKAN:
hai tutte le soluzioni?
forse cosi...non ho capito tutto !!!!
program Esercizio_1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n,i,a:integer;
begin
i:=0;
a:=1;
writeln('Programma che visualizza la successione di numeri divisibili');
writeln('solo per 2,3,5');
writeln;
write('Inserisci l''intero N,numero di elementi della successione: ');
read(n);
for i:= 1 to n do begin
if ((i mod 2)=0) or ((i mod 3)=0) or ((i mod 5)=0) or (i=1) begin
write(i,'-');
end;
end;
readln;
readln
end.
monkey72
17-11-2002, 00:44
vista l'ora, il fatto che non l'ho provato e che sono anni che non uso pascal non garantisco ma ci provo lo stesso:
begin
writeln('Programma che visualizza la successione di numeri divisibili');
writeln('solo per 2,3,5');
writeln;
write('Inserisci l''intero N,numero di elementi della successione: ');
read(N);
i:=1;
j:=0;
count:=0;
while (count<=N)
begin
maybe:=false;
if ((i mod 2)=0) or ((i mod 3)=0) or ((i mod 5)=0) or (i=1)
maybe:=true;
j:=1;
while maybe and (j<=i)
begin
if(i mod j=0) and (j<>2) and (j<>3) and (j<>5)
maybe:=false;
j:=j+1;
end
if maybe
begin
print(i,'-');
count:=count+1;
end
i:=i+1;
end
fatemi sapere :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.