aboutsummaryrefslogtreecommitdiff
path: root/challenge-243/deadmarshal/pascal
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2023-11-15 21:53:10 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2023-11-15 21:53:10 +0330
commit7d92a145e089e59f0f830843ba91cd7223bc6c98 (patch)
tree5e0043297d1fde64aa5c75c5e1440c4cbc393389 /challenge-243/deadmarshal/pascal
parentd20e7296170b997b7e690a58b79156f6c81f1cd2 (diff)
downloadperlweeklychallenge-club-7d92a145e089e59f0f830843ba91cd7223bc6c98.tar.gz
perlweeklychallenge-club-7d92a145e089e59f0f830843ba91cd7223bc6c98.tar.bz2
perlweeklychallenge-club-7d92a145e089e59f0f830843ba91cd7223bc6c98.zip
TWC243 extra solutions
Diffstat (limited to 'challenge-243/deadmarshal/pascal')
-rw-r--r--challenge-243/deadmarshal/pascal/ch1.pas26
-rw-r--r--challenge-243/deadmarshal/pascal/ch2.pas26
2 files changed, 52 insertions, 0 deletions
diff --git a/challenge-243/deadmarshal/pascal/ch1.pas b/challenge-243/deadmarshal/pascal/ch1.pas
new file mode 100644
index 0000000000..bd84bf950b
--- /dev/null
+++ b/challenge-243/deadmarshal/pascal/ch1.pas
@@ -0,0 +1,26 @@
+program Ch1;
+
+{$mode objfpc}
+uses
+ SysUtils,Types;
+
+var
+ A1,A2:TIntegerDynArray;
+
+function ReversePairs(var Arr:TIntegerDynArray):Integer;
+var
+ I,J:Integer;
+begin
+ Result := 0;
+ for I := Low(Arr) to High(Arr)-1 do
+ for J := I+1 to High(Arr) do
+ if Arr[I] > (2 * Arr[J]) then Inc(Result);
+end;
+
+begin
+ A1 := [1,3,2,3,1];
+ A2 := [2,4,3,5,1];
+ WriteLn(ReversePairs(A1));
+ WriteLn(ReversePairs(A2));
+end.
+
diff --git a/challenge-243/deadmarshal/pascal/ch2.pas b/challenge-243/deadmarshal/pascal/ch2.pas
new file mode 100644
index 0000000000..14e14f4831
--- /dev/null
+++ b/challenge-243/deadmarshal/pascal/ch2.pas
@@ -0,0 +1,26 @@
+program Ch2;
+
+{$mode objfpc}
+uses
+ SysUtils,Types;
+
+var
+ A1,A2:TIntegerDynArray;
+
+function FloorSum(var Arr:TIntegerDynArray):Integer;
+var
+ I,J:Integer;
+begin
+ Result := 0;
+ for I := Low(Arr) to High(Arr) do
+ for J := Low(Arr) to High(Arr) do
+ Inc(Result,Arr[I] div Arr[J])
+end;
+
+begin
+ A1 := [2,5,9];
+ A2 := [7,7,7,7,7,7,7];
+ WriteLn(FloorSum(A1));
+ WriteLn(FloorSum(A2));
+end.
+