diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-01-16 19:45:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-16 19:45:09 +0000 |
| commit | f5349696fd043be2b23e915bf0d869f4966a819b (patch) | |
| tree | a82041db496f61c92982fefd0094f46a47e9214b | |
| parent | a0df2b64bcda24f6ea2b4cd00b9cefe82bcae8ed (diff) | |
| parent | 7a1fb136c3ddff1832fa5dc79130663849242d06 (diff) | |
| download | perlweeklychallenge-club-f5349696fd043be2b23e915bf0d869f4966a819b.tar.gz perlweeklychallenge-club-f5349696fd043be2b23e915bf0d869f4966a819b.tar.bz2 perlweeklychallenge-club-f5349696fd043be2b23e915bf0d869f4966a819b.zip | |
Merge pull request #9413 from zapwai/branch-for-252
Week 252
| -rw-r--r-- | challenge-252/zapwai/c/ch-1.c | 24 | ||||
| -rw-r--r-- | challenge-252/zapwai/c/ch-2.c | 21 | ||||
| -rw-r--r-- | challenge-252/zapwai/perl/ch-1.pl | 9 | ||||
| -rw-r--r-- | challenge-252/zapwai/perl/ch-2.pl | 14 | ||||
| -rw-r--r-- | challenge-252/zapwai/rust/ch-1.rs | 22 | ||||
| -rw-r--r-- | challenge-252/zapwai/rust/ch-2.rs | 18 |
6 files changed, 108 insertions, 0 deletions
diff --git a/challenge-252/zapwai/c/ch-1.c b/challenge-252/zapwai/c/ch-1.c new file mode 100644 index 0000000000..377b141ab6 --- /dev/null +++ b/challenge-252/zapwai/c/ch-1.c @@ -0,0 +1,24 @@ +#include <stdio.h> +void proc(int*, int); +int main () { + int ints[] = {1,2,3,4}; + int L = sizeof(ints) / sizeof(int); + int ints2[] = {2, 7, 1, 19, 18, 3}; + int L2 = sizeof(ints2) / sizeof(int); + + proc(ints, L); + proc(ints2, L2); + +} +void proc(int* ints, int L) { + int sum = 0; + for (int i = 1; i <= L; i++) { + (L%i==0) ? sum += ints[i-1]*ints[i-1] : 0 ; + } + printf("Input: ints = {"); + for (int i = 0; i < L - 1; i++) { + printf("%d, ",ints[i]); + } + printf("%d}\n",ints[L-1]); + printf("Output: %d\n",sum); +}
\ No newline at end of file diff --git a/challenge-252/zapwai/c/ch-2.c b/challenge-252/zapwai/c/ch-2.c new file mode 100644 index 0000000000..830889d056 --- /dev/null +++ b/challenge-252/zapwai/c/ch-2.c @@ -0,0 +1,21 @@ +#include <stdio.h> +void proc(int n) { + int A[n]; + (n % 2 == 1) ? A[n-1] = 0 : 0 ; + int k = n/2; + for (int i = 0; i < k; i++){ + A[2*i] = i+1; + A[2*i+1] = -1*(i+1); + } + printf("Input: n = %d\n", n); + printf("Output: ("); + for (int i = 0; i < n-1; i++) { + printf("%d, ",A[i]); + } + printf("%d)\n", A[n-1]); +} +int main () { + proc(5); + proc(7); + proc(4); +}
\ No newline at end of file diff --git a/challenge-252/zapwai/perl/ch-1.pl b/challenge-252/zapwai/perl/ch-1.pl new file mode 100644 index 0000000000..a3a54af621 --- /dev/null +++ b/challenge-252/zapwai/perl/ch-1.pl @@ -0,0 +1,9 @@ +use v5.30; +my @ints = (1,2,3,4); +#@ints = (2, 7, 1, 19, 18, 3); +my $n = scalar @ints; +my @special = grep { $n % ($_+1) == 0 } (0 .. $#ints); +my $sum = 0; +$sum += $ints[$_]**2 for ( @special ); +say "Input: \@ints = @ints"; +say "Output: $sum";
\ No newline at end of file diff --git a/challenge-252/zapwai/perl/ch-2.pl b/challenge-252/zapwai/perl/ch-2.pl new file mode 100644 index 0000000000..8a4ac95546 --- /dev/null +++ b/challenge-252/zapwai/perl/ch-2.pl @@ -0,0 +1,14 @@ +use v5.30; +my $n = 5; +say "Input: \$n = $n"; +print "Output: "; +if ($n == 1) { + say "0"; +} else { + my @a; + my $k = int $n/2; + push @a, -1*$_, $_ for (1 .. $k); + push @a, 0 if ($n % 2 == 1); + @a = sort {$a <=> $b} @a; + say "@a"; +}
\ No newline at end of file diff --git a/challenge-252/zapwai/rust/ch-1.rs b/challenge-252/zapwai/rust/ch-1.rs new file mode 100644 index 0000000000..843ee37127 --- /dev/null +++ b/challenge-252/zapwai/rust/ch-1.rs @@ -0,0 +1,22 @@ +fn main() { + let v = vec![1,2,3,4]; + let v2 = vec![2,7,1,19,18,3]; + proc(v); + proc(v2); +} + +fn proc(v : Vec<i32>) { + let mut s = Vec::new(); + println!("Input: ints = {:?}", v); + let n = v.len(); + for k in 1 ..= n { + if n % k == 0 { + s.push(v[k-1]); + } + } + let mut sum = 0; + for val in s.iter() { + sum += val*val; + } + println!("Output: {sum}"); +}
\ No newline at end of file diff --git a/challenge-252/zapwai/rust/ch-2.rs b/challenge-252/zapwai/rust/ch-2.rs new file mode 100644 index 0000000000..2d028646bf --- /dev/null +++ b/challenge-252/zapwai/rust/ch-2.rs @@ -0,0 +1,18 @@ +fn main() { + for n in [5, 7, 1] { + proc(n); + } +} +fn proc(n : i32) { + println!("Input: n = {n}"); + let mut v = Vec::new(); + if n%2 == 1 { + v.push(0); + } + let k = n/2; + for i in 1 ..= k { + v.push(i); + v.push(-i); + } + println!("Output: {:?}",v); +}
\ No newline at end of file |
