PDA

View Full Version : Един бърз Pascal с вложени цикли?



Gabichkaaa
03-08-2011, 13:50
Здравейте.. Трябва ми помощ с решението на задачата:

Да се напише програма, която решава диофантовото уравнение a1.x1 + a2.x2 + a3.x3 + a4.x4 = a, където a,a1,a2,a3,a4 принадлежат на Z.
x1,x2 принадлежат {4,5,6,7}
x3,x4 принадлежат {0,1,2,3} .. тези Х-сове са решенията! :)

Chacho
03-08-2011, 15:09
Предполагам, че коефициентите са входните данни, а неизвестните са изходните. Ако е така:

program asdf;

var
a,a1,a2,a3,a4,x1,x2,x3,x4: integer;
reshenie: boolean;

begin
reshenie = false;

write('a='); readln(a);
write('a1='); readln(a1);
write('a2='); readln(a2);
write('a3='); readln(a3);
write('a4='); readln(a4);

for x1 := 4 to 7
begin

for x2 := 4 to 7
begin

for x3 := 0 to 3
begin

for x4:= 0 to 3
begin

if (a1*x1+a2*x2+a3*x3+a4*x4=a) then
begin
reshenie = true;
writeln('x1=',x1);
writeln('x2=',x2);
writeln('x3=',x3);
writeln('x4=',x4);
end;

end;
end;
end;
end;

if reshenie = false then
writeln('Uravnenieto nqma koreni v zadadenata def. oblast');

end.

Gabichkaaa
03-10-2011, 12:21
А как трябва да напишем програмата, за да ни се отпечатва числовия триъгълник?

1
1 2
1 2 3
1 2 3 4
1 2 3 4 .. . . . n-1 n

Chacho
03-10-2011, 15:57
program asdf;

var i, j, n: integer;

begin

write("n="); readln(n);

for i := 1 to n do
begin

for j:= 1 to i do
write(j," ");

writeln;

end;
readln;
end.