czapi [ Pretorianin ]
Dwa programy - help
Witam ;]
Mam pewien problem otoz mam napisac dwa programy w jezyku programowania matlab a dokladniej:
1)program wyswietlajacy wszystkie liczby pierwsze od 1 do n podanego przez nas
2)program liczacy NWD dwoch liczb
czy ktos kiedys pisal cos w tym jezyku i ewentualnie moglby mi pomoc??:>
Lukxxx [ Pretorianin ]
jesli chodzi o algorytmy to maja one nazwy:
1. sito Er.... (nie pamietam jak sie nazywal :)
2. algorytm euklidesa
Oba sa dosc banalne, pisalem takie rzeczy w LO
Lukxxx [ Pretorianin ]
ad1. sito Eratonestesa
peanut [ kriegsmaschine ]
Program Sito_Eratostenesa;
const a=1000;
type pierwsze=array [2..a] of boolean;
var tab: pierwsze;
i, d, d2: integer;
Begin
tab[2]:=true;
For i:=3 to a do tab:=odd(i);
d:=3;
while d*d<=a do
Begin
For d2:=d to (a div d) do tab[d*d2]:=false;
Repeat d:=d+2 until tab[d];
End;
For i:=2 to a do
if tab then Write(i:5);
end.
- - - - - - - - - - - - - - - - - - - - - - -
Program NWD;
var a,b: integer;
begin
write ('a='); read (a);
write ('b='); read (b);
while a<>b do
if a>0 then a:=a-b
else
a:=b-a;
write (a);
end.
co prawda oba napisane w pascalu, ale ow matlab wiele roznic sie nie powinien (chociaz znam go jedynie z opowiesci). algorytmy raczej proste, nie wykorzstujace zadnych specyficznych funkcji jezyka - po prostu ciag dzialan arytmetycznych;)
peanut [ kriegsmaschine ]
coz... niemoznosc edycji;)
Program Sito_Eratostenesa;
const a=1000;
type pierwsze=array [2..a] of boolean;
var tab: pierwsze;
j, d, d2: integer;
Begin
tab[2]:=true;
For j:=3 to a do tab[j]:=odd(j);
d:=3;
while d*d<=a do
Begin
For d2:=d to (a div d) do tab[d*d2]:=false;
Repeat d:=d+2 until tab[d];
End;
For j:=2 to a do
if tab[j] then Write(j:5);
end.
- - - - - - - - - - - - - - - - - - - - - - -
program satan;
var a,b: integer;
begin
write ('a='); read (a);
write ('b='); read (b);
while a<>b do
if a>0 then a:=a-b
else
a:=b-a;
write (a);
end.
czapi [ Pretorianin ]
Ok wielkie dzieki ;]