aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Russell <ac.russell@live.com>2021-08-01 10:28:28 -0400
committerAdam Russell <ac.russell@live.com>2021-08-01 10:28:28 -0400
commit9f7762afb60163ef5b0487417ad1dcd339c2e691 (patch)
tree020eb7f736558aa2116b8ca094a1fd4eb2281484
parent3bb7e5b432f856cf6d2bcbfc930e4c3dd6983c21 (diff)
downloadperlweeklychallenge-club-9f7762afb60163ef5b0487417ad1dcd339c2e691.tar.gz
perlweeklychallenge-club-9f7762afb60163ef5b0487417ad1dcd339c2e691.tar.bz2
perlweeklychallenge-club-9f7762afb60163ef5b0487417ad1dcd339c2e691.zip
cleaned code and comments
-rw-r--r--challenge-123/adam-russell/cxx/ch-1.cxx7
-rw-r--r--challenge-123/adam-russell/perl/ch-1.pl3
-rw-r--r--challenge-123/adam-russell/perl/ch-2.pl6
-rw-r--r--challenge-123/adam-russell/prolog/ch-1.p30
4 files changed, 31 insertions, 15 deletions
diff --git a/challenge-123/adam-russell/cxx/ch-1.cxx b/challenge-123/adam-russell/cxx/ch-1.cxx
index e8b0c1445a..74b4d58f3b 100644
--- a/challenge-123/adam-russell/cxx/ch-1.cxx
+++ b/challenge-123/adam-russell/cxx/ch-1.cxx
@@ -1,6 +1,11 @@
#include <vector>
#include <iostream>
+/*
+ * You are given an integer n >= 1.
+ * Write a script to find the nth Ugly Number.
+*/
+
class Ugly{
private:
std::vector<int> factor(int);
@@ -11,7 +16,7 @@ class Ugly{
std::vector<int> Ugly::factor(int n){
std::vector<int> factors;
- for (long int i=2; i*i<=n; i++){
+ for (int i=2; i*i<=n; i++){
if (n%i==0){
if(i*i!=n){
factors.push_back(i);
diff --git a/challenge-123/adam-russell/perl/ch-1.pl b/challenge-123/adam-russell/perl/ch-1.pl
index 1e5e952bdb..07c0598302 100644
--- a/challenge-123/adam-russell/perl/ch-1.pl
+++ b/challenge-123/adam-russell/perl/ch-1.pl
@@ -1,7 +1,8 @@
use strict;
use warnings;
##
-#
+# You are given an integer $n >= 1.
+# Write a script to find the $nth Ugly Number.
##
use boolean;
diff --git a/challenge-123/adam-russell/perl/ch-2.pl b/challenge-123/adam-russell/perl/ch-2.pl
index eed00cc7ef..e94a3f19bb 100644
--- a/challenge-123/adam-russell/perl/ch-2.pl
+++ b/challenge-123/adam-russell/perl/ch-2.pl
@@ -1,13 +1,13 @@
use strict;
use warnings;
##
-#
+# You are given co-ordinates for four points.
+# Write a script to find out if the given
+# four points form a square.
##
use boolean;
use Math::GSL::Vector;
-use Data::Dump q/pp/;
-
sub unique{
my %seen;
return grep {!$seen{$_}++} @_;
diff --git a/challenge-123/adam-russell/prolog/ch-1.p b/challenge-123/adam-russell/prolog/ch-1.p
index a52ba3ee03..cf4f659b5c 100644
--- a/challenge-123/adam-russell/prolog/ch-1.p
+++ b/challenge-123/adam-russell/prolog/ch-1.p
@@ -1,15 +1,25 @@
:-initialization(main).
-prime_factors(N,L) :- N > 0,
-prime_factors(N,L,2).
-prime_factors(1,[],_) :- !.
-prime_factors(N,[F|L],F) :-
- R is N // F, N =:= R * F, !, prime_factors(R,L,F).
-prime_factors(N,L,F) :-
- next_factor(N,F,NF), prime_factors(N,L,NF).
-next_factor(_,2,3) :- !.
-next_factor(N,F,NF) :- F * F < N, !, NF is F + 2.
-next_factor(N,_,N).
+prime_factors(N, L):-
+ N > 0,
+ prime_factors(N, L, 2).
+prime_factors(1, [], _):-
+ !.
+prime_factors(N, [F|L], F):-
+ R is N // F,
+ N =:= R * F,
+ !,
+ prime_factors(R, L, F).
+prime_factors(N, L, F):-
+ next_factor(N, F, NF),
+ prime_factors(N, L, NF).
+next_factor(_, 2, 3):-
+ !.
+next_factor(N, F, NF):-
+ F * F < N,
+ !,
+ NF is F + 2.
+next_factor(N, _, N).
ugly(N, UglyNumber):-
ugly(N, 1, 1, _, UglyNumber).