N=20,M=300,прога находит числа Хемминга в заданном промежутке и считает их сумму)
Прогу уже как только не переписывал-не считает и всё тутХотя алгоритм вроде правильный
Вариант1:
uses crt;
label konec;
var N,M,a,i,j,z,S:integer;
begin
clrscr;
writeln ('vvesti N i M');
readln (N,M);
if N>M then
begin
a:=M;
M:=N;
N:=a;
end;
writeln ('diapozon chisel ot ',N,' do ',M);
for i:=N to M do
begin
if (N mod 2=0) and (N mod 3=0) and (N mod 5=0) then
begin
for j:=7 to N-1 do
begin
for z:=2 to j-1 do if (j mod z =0) then goto konec;
if (N mod j=0) then goto konec;
writeln ('podxodiashee,N=',N);
S:=S+N;
end;
end;
konec:
end;
writeln ('S=',S);
readkey;
end.
***************************************************************************
Вариант2:
uses crt;
label delenie,konec;
var M,N,S,i,a,j:integer;
begin
clrscr;
S:=0;
writeln ('vvesti N');
readln (N);
writeln ('vvesti M');
readln (M);
if N>M then
begin
a:=M;
M:=N;
N:=a;
end;
writeln (' N=',N);
for N:=N to M do
begin
if (N mod 2=0) and (N mod 3=0) and (N mod 5=0) then
begin
for i:=7 to N do
begin
for j:=2 to i do
begin
if (i mod j=0) then goto delenie;
end;
if (N mod i=0) then goto konec else
begin
writeln ('nashelsia element');
S:=S+N;
writeln ('nedeliashiisia element N=',N);
end;
delenie:
end;
end;
konec:
n:=n+1;
end;
writeln ('S=',S);
end.
Вобщем проверьте чего тут не так,плиз
Сообщение отредактировано: patriotru -