diff options
| author | deadmarshal <adeadmarshal@gmail.com> | 2022-05-05 18:42:48 +0430 |
|---|---|---|
| committer | deadmarshal <adeadmarshal@gmail.com> | 2022-05-05 18:42:48 +0430 |
| commit | e14476b64148f02531bbd641d012cf835aa3826a (patch) | |
| tree | 83c3cf78ad3f42cc9b62d3a3e5ca4d091ec0335d | |
| parent | 00424daeddd40cc9d98cd1e4111541ddccd0f235 (diff) | |
| download | perlweeklychallenge-club-e14476b64148f02531bbd641d012cf835aa3826a.tar.gz perlweeklychallenge-club-e14476b64148f02531bbd641d012cf835aa3826a.tar.bz2 perlweeklychallenge-club-e14476b64148f02531bbd641d012cf835aa3826a.zip | |
Added solutions to challenge 163
| -rw-r--r-- | challenge-163/deadmarshal/c/ch-1.c | 20 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/c/ch-2.c | 19 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/cpp/ch-1.cpp | 20 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/cpp/ch-2.cpp | 19 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/lua/ch-1.lua | 16 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/lua/ch-2.lua | 15 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/pascal/ch1.pas | 25 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/pascal/ch2.pas | 25 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/perl/ch-1.pl | 20 | ||||
| -rw-r--r-- | challenge-163/deadmarshal/perl/ch-2.pl | 20 |
10 files changed, 199 insertions, 0 deletions
diff --git a/challenge-163/deadmarshal/c/ch-1.c b/challenge-163/deadmarshal/c/ch-1.c new file mode 100644 index 0000000000..3c5676c25b --- /dev/null +++ b/challenge-163/deadmarshal/c/ch-1.c @@ -0,0 +1,20 @@ +#include<stdio.h> + +int sum_bitwise_operator(int* arr, size_t sz) +{ + int sum = 0; + for(size_t i = 0; i < sz; ++i) + for(size_t j = i+1; j < sz; ++j) + sum += arr[i] & arr[j]; + return sum; +} + +int main(void) +{ + int n1[] = {1,2,3}; + int n2[] = {2,3,4}; + size_t sz = 3; + printf("%d\n", sum_bitwise_operator(n1,sz)); + printf("%d\n", sum_bitwise_operator(n2,sz)); + return 0; +} diff --git a/challenge-163/deadmarshal/c/ch-2.c b/challenge-163/deadmarshal/c/ch-2.c new file mode 100644 index 0000000000..d9e64f50e0 --- /dev/null +++ b/challenge-163/deadmarshal/c/ch-2.c @@ -0,0 +1,19 @@ +#include<stdio.h> + +int summations(int *arr, size_t sz) +{ + for(size_t i = 0; i < sz; ++i) + for(size_t j = i+1; j < sz; ++j) + arr[j+1] = arr[j] + arr[j+1]; + return arr[sz-1]; +} + +int main(void) +{ + int arr[] = {1,2,3,4,5}; + int arr2[] = {1,3,5,7,9}; + size_t sz = 5; + printf("%d\n", summations(arr, sz)); + printf("%d\n", summations(arr2, sz)); + return 0; +} diff --git a/challenge-163/deadmarshal/cpp/ch-1.cpp b/challenge-163/deadmarshal/cpp/ch-1.cpp new file mode 100644 index 0000000000..061a0d8b52 --- /dev/null +++ b/challenge-163/deadmarshal/cpp/ch-1.cpp @@ -0,0 +1,20 @@ +#include<iostream> +#include<vector> + +int sum_bitwise_operator(std::vector<int>& vec) +{ + int sum{}; + for(std::size_t i{}; i < vec.size(); ++i) + for(std::size_t j{i+1}; j < vec.size(); ++j) + sum += vec[i] & vec[j]; + return sum; +} + +int main() +{ + std::vector<int> vec{1,2,3}; + std::vector<int> vec2{2,3,4}; + std::cout << sum_bitwise_operator(vec) << '\n'; + std::cout << sum_bitwise_operator(vec2) << '\n'; + return 0; +} diff --git a/challenge-163/deadmarshal/cpp/ch-2.cpp b/challenge-163/deadmarshal/cpp/ch-2.cpp new file mode 100644 index 0000000000..5b890d6477 --- /dev/null +++ b/challenge-163/deadmarshal/cpp/ch-2.cpp @@ -0,0 +1,19 @@ +#include<iostream> +#include<vector> + +int summations(std::vector<int> vec) +{ + for(std::size_t i{}; i < vec.size(); ++i) + for(std::size_t j{i+1}; j < vec.size(); ++j) + vec[j+1] = vec[j] + vec[j+1]; + return vec.back(); +} + +int main() +{ + std::vector<int> vec{1,2,3,4,5}; + std::vector<int> vec2{1,3,5,7,9}; + std::cout << summations(vec) << '\n'; + std::cout << summations(vec2) << '\n'; + return 0; +} diff --git a/challenge-163/deadmarshal/lua/ch-1.lua b/challenge-163/deadmarshal/lua/ch-1.lua new file mode 100644 index 0000000000..d545acdb00 --- /dev/null +++ b/challenge-163/deadmarshal/lua/ch-1.lua @@ -0,0 +1,16 @@ +function sum_bitwise_operator(t) + assert(type(t) == 'table', 't must be a table!') + local sum = 0 + for i=1, #t do + for j=i+1, #t do + sum = sum + (t[i] & t[j]) + end + end + return sum +end + +local t = {1,2,3} +local t2 = {2,3,4} +print(sum_bitwise_operator(t)) +print(sum_bitwise_operator(t2)) + diff --git a/challenge-163/deadmarshal/lua/ch-2.lua b/challenge-163/deadmarshal/lua/ch-2.lua new file mode 100644 index 0000000000..c4f666d16f --- /dev/null +++ b/challenge-163/deadmarshal/lua/ch-2.lua @@ -0,0 +1,15 @@ +function summations(t) + assert(type(t) == 'table', 't must be a table!') + for i=1, #t do + for j=i+1, #t-1 do + t[j+1] = t[j] + t[j+1] + end + end + return t[#t] +end + +local t = {1,2,3,4,5} +local t2 = {1,3,5,7,9} +print(summations(t)) +print(summations(t2)) + diff --git a/challenge-163/deadmarshal/pascal/ch1.pas b/challenge-163/deadmarshal/pascal/ch1.pas new file mode 100644 index 0000000000..a594f21561 --- /dev/null +++ b/challenge-163/deadmarshal/pascal/ch1.pas @@ -0,0 +1,25 @@ +program Ch1; + +{$mode objfpc} +uses + SysUtils,Types; +var + Arr,Arr2:TIntegerDynArray; + +function SumBitwiseOperator(Arr:TIntegerDynArray):Integer; +var + I,J:Integer; +begin + Result := 0; + for I := 0 to High(Arr) do + for J := I+1 to High(Arr) do + Result := Result + Arr[I] and Arr[J]; +end; + +begin + Arr := TIntegerDynArray.Create(1,2,3); + Arr2 := TIntegerDynArray.Create(2,3,4); + WriteLn(SumBitwiseOperator(Arr)); + WriteLn(SumBitwiseOperator(Arr2)); +end. + diff --git a/challenge-163/deadmarshal/pascal/ch2.pas b/challenge-163/deadmarshal/pascal/ch2.pas new file mode 100644 index 0000000000..ce9cde7e76 --- /dev/null +++ b/challenge-163/deadmarshal/pascal/ch2.pas @@ -0,0 +1,25 @@ +program Ch2; + +{$mode objfpc} +uses + SysUtils,Types; +var + Arr,Arr2:TIntegerDynArray; + +function Summations(Arr:TIntegerDynArray):Integer; +var + I,J:Integer; +begin + for I := Low(Arr) to High(Arr) do + for J := I+1 to Pred(High(Arr)) do + Arr[J+1] := Arr[J] + Arr[J+1]; + Result := Arr[High(Arr)]; +end; + +begin + Arr := TIntegerDynArray.Create(1,2,3,4,5); + WriteLn(Summations(Arr)); + Arr2 := TIntegerDynArray.Create(1,3,5,7,9); + WriteLn(Summations(Arr2)); +end. + diff --git a/challenge-163/deadmarshal/perl/ch-1.pl b/challenge-163/deadmarshal/perl/ch-1.pl new file mode 100644 index 0000000000..c812746d72 --- /dev/null +++ b/challenge-163/deadmarshal/perl/ch-1.pl @@ -0,0 +1,20 @@ +#!usr/bin/env perl +use strict; +use warnings; + +sub sum_bitwise_operator{ + my ($arr) = @_; + my $sum = 0; + for(my $i = 0; $i < @$arr; ++$i){ + for(my $j = $i+1; $j < @$arr; ++$j){ + $sum += $arr->[$i] & $arr->[$j]; + } + } + $sum; +} + +my @n = (1,2,3); +my @n2 = (2,3,4); + +print sum_bitwise_operator(\@n), "\n"; +print sum_bitwise_operator(\@n2), "\n"; diff --git a/challenge-163/deadmarshal/perl/ch-2.pl b/challenge-163/deadmarshal/perl/ch-2.pl new file mode 100644 index 0000000000..91b1949513 --- /dev/null +++ b/challenge-163/deadmarshal/perl/ch-2.pl @@ -0,0 +1,20 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +sub summations{ + my ($arr) = @_; + my ($i,$j); + for($i = 0; $i < @$arr; ++$i){ + for($j = $i+1; $j < @$arr-1; ++$j){ + $arr->[$j+1] = $arr->[$j] + $arr->[$j+1]; + } + } + return $arr->[$j-1]; +} + +my @arr = (1,2,3,4,5); +my @arr2 = (1,3,5,7,9); +print summations(\@arr), "\n"; +print summations(\@arr2), "\n"; + |
