-
-
Save tischsoic/52833e9909ed7dfd9a35 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Program TPascala; | |
uses CRT; | |
function Silnia(n : integer) : integer; | |
begin | |
if n < 2 then Silnia := 1 | |
else Silnia := n * Silnia(n-1); | |
end; | |
function DwumianN(m, n : integer) : real; | |
begin | |
//Writeln(Silnia(m), Silnia(m - n), Silnia(n)); | |
DwumianN := Silnia(m) / (Silnia(m - n) * Silnia(n)); | |
end; | |
procedure Przerwa(n : integer); | |
var i : integer; | |
begin | |
for i := 1 to n do Write(' '); | |
end; | |
function TPascala(n : integer) : integer; | |
var i, j : integer; | |
begin | |
for i := 0 to n - 1 do | |
begin | |
Przerwa(n - i); | |
for j := 0 to i do | |
begin | |
Write(DwumianN(i, j):5:0, ' ')//, '->>j:', j, ' i:', i, ' '); | |
end; | |
Writeln(); | |
end; | |
end; | |
function TPascalaP(n : integer) : integer; | |
var i, j, k : integer; | |
begin | |
k := 0; | |
for i := 0 to n - 1 do | |
begin | |
//Przerwa(n - i); | |
if (i mod 2) = 1 then Przerwa(1); | |
for j := i - k to i do | |
begin | |
Write(DwumianN(i, j):5:0, ' ')//, '->>j:', j, ' i:', i, ' '); | |
end; | |
Writeln(); | |
k := k + i mod 2; | |
end; | |
end; | |
function sumaDzielnikow(i : integer) : integer; | |
var j : integer; | |
begin | |
sumaDzielnikow := 0; | |
for j := 1 to Round(i/2) do | |
begin | |
if (i mod j) = 0 then sumaDzielnikow := sumaDzielnikow + j; | |
end; | |
end; | |
var | |
i, j, n : integer; | |
tablicaPierwszych : array of integer; | |
begin | |
TPascala(10); | |
TPascalaP(11); | |
//Writeln('Jakis tekst'); | |
Writeln(); | |
n := 300; | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
//Znajdowanie liczb zaprzyjaznionych z zakresu [0,n]: | |
for i := 0 to n do | |
begin | |
for j := 0 to n do | |
begin | |
if (sumaDzielnikow(i) = j) and (i = sumaDzielnikow(j)) and (i <> j) and (sumaDzielnikow(i) <> 0) then Writeln(i, ' ----> ', j, ' '); | |
end; | |
if i = 300 then Writeln(i); | |
if i = 400 then Writeln(i); | |
if i = 500 then Writeln(i); | |
if i = 700 then Writeln(i); | |
if i = 900 then Writeln(i); | |
end; | |
Writeln(); | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
//Wyliczanie liczb pierwszych z zakresu [0,n]: | |
n := 12; | |
SetLength(tablicaPierwszych, n); | |
//Wypelniamy minusjedynkami: | |
for i := 1 to n do tablicaPierwszych[i] := -1; | |
//Dla 1 ustawiamy juz na poczatku 0 bo wiemy, ze nie jest liczba pierwsza: | |
tablicaPierwszych[1] := 0; | |
i := 2; | |
j := 0; | |
while i <= n do | |
begin | |
if tablicaPierwszych[i] = -1 then | |
begin | |
tablicaPierwszych[i] := i; | |
//Wilokrotnosci tej liczby uzupelniamy 0: | |
j := 2 * i; | |
while j <= n do | |
begin | |
tablicaPierwszych[j] := 0; | |
j := j + i; | |
end; | |
end; | |
Inc(i); | |
end; | |
//Wypisujemy elementy tablicy: | |
for i := 1 to n do if tablicaPierwszych[i]<> 0 then Write(tablicaPierwszych[i], ' '); | |
Readln(i); | |
end. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment