aboutsummaryrefslogtreecommitdiff
path: root/challenge-199/deadmarshal/pascal
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2023-01-10 13:03:07 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2023-01-10 13:03:07 +0330
commit0e3e1a42869013d09eaa4c797cd957539004d944 (patch)
treeb2bd4f49bb2d5dd3eccb3bb8c7bc57575a8787e7 /challenge-199/deadmarshal/pascal
parentb8a1cd65abd85f6cf9df5b9dc5bc34677763b531 (diff)
downloadperlweeklychallenge-club-0e3e1a42869013d09eaa4c797cd957539004d944.tar.gz
perlweeklychallenge-club-0e3e1a42869013d09eaa4c797cd957539004d944.tar.bz2
perlweeklychallenge-club-0e3e1a42869013d09eaa4c797cd957539004d944.zip
TWC199
Diffstat (limited to 'challenge-199/deadmarshal/pascal')
-rw-r--r--challenge-199/deadmarshal/pascal/ch1.pas23
-rw-r--r--challenge-199/deadmarshal/pascal/ch2.pas29
2 files changed, 52 insertions, 0 deletions
diff --git a/challenge-199/deadmarshal/pascal/ch1.pas b/challenge-199/deadmarshal/pascal/ch1.pas
new file mode 100644
index 0000000000..d028abdd5a
--- /dev/null
+++ b/challenge-199/deadmarshal/pascal/ch1.pas
@@ -0,0 +1,23 @@
+program Ch1;
+
+{$mode objfpc}
+
+uses
+ SysUtils,Types;
+
+function GoodPairs(Arr:TIntegerDynArray):Integer;
+var
+ I,J:Integer;
+begin
+ Result := 0;
+ for I := Low(Arr) to High(Arr) do
+ for J := I+1 to High(Arr) do
+ if Arr[I] = Arr[J] then Inc(Result);
+end;
+
+begin
+ WriteLn(GoodPairs([1,2,3,1,1,3]));
+ WriteLn(GoodPairs([1,2,3]));
+ WriteLn(GoodPairs([1,1,1,1]));
+end.
+
diff --git a/challenge-199/deadmarshal/pascal/ch2.pas b/challenge-199/deadmarshal/pascal/ch2.pas
new file mode 100644
index 0000000000..744f4670af
--- /dev/null
+++ b/challenge-199/deadmarshal/pascal/ch2.pas
@@ -0,0 +1,29 @@
+program Ch2;
+
+{$mode objfpc}
+
+uses
+ SysUtils,Types;
+
+function GoodTriplets(A:TIntegerDynArray;X,Y,Z:Integer):Integer;
+var
+ I,J,K:Integer;
+begin
+ Result := 0;
+ for I := Low(A) to High(A) do
+ for J := Low(A) to High(A) do
+ for K := Low(A) to High(A) do
+ if((Abs(A[I] - A[J]) <= X) and
+ (Abs(A[J] - A[K]) <= Y) and
+ (Abs(A[I] - A[K]) <= Z) and
+ (0 <= I) and
+ (I < J) and
+ (J < K) and
+ (K <= Length(A))) then Inc(Result);
+end;
+
+begin
+ WriteLn(GoodTriplets([3,0,1,1,9,7],7,2,3));
+ WriteLn(GoodTriplets([1,1,2,2,3],0,0,1));
+end.
+