aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-10-18 00:36:09 +0100
committerGitHub <noreply@github.com>2021-10-18 00:36:09 +0100
commit2b2846fb1bc36a11d4c49578028d46952cd286e9 (patch)
treee5bdca43b730c32bed85ec3346e95105aac30e4f
parent2f8fd83d973ebc72cbe29399059963143a48e2cd (diff)
parent13533b4d5f965fcd819f3b8a6d23afe363f74478 (diff)
downloadperlweeklychallenge-club-2b2846fb1bc36a11d4c49578028d46952cd286e9.tar.gz
perlweeklychallenge-club-2b2846fb1bc36a11d4c49578028d46952cd286e9.tar.bz2
perlweeklychallenge-club-2b2846fb1bc36a11d4c49578028d46952cd286e9.zip
Merge pull request #5047 from adamcrussell/challenge-134
updated C++ solution to part 1
-rw-r--r--challenge-134/adam-russell/cxx/ch-1.cxx15
-rw-r--r--challenge-134/adam-russell/nuweb/ch-1.w15
2 files changed, 6 insertions, 24 deletions
diff --git a/challenge-134/adam-russell/cxx/ch-1.cxx b/challenge-134/adam-russell/cxx/ch-1.cxx
index 4a32d8255e..f6c9c935f6 100644
--- a/challenge-134/adam-russell/cxx/ch-1.cxx
+++ b/challenge-134/adam-russell/cxx/ch-1.cxx
@@ -20,21 +20,12 @@ std::vector<int> Pandigital::first_n_pandigitals(int n) {
int x = 1000000000;
do {
int test = x;
- std::vector<int> test_vector;
+ std::vector<int> test_vector = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
do {
- test_vector.push_back(test % 10);
+ test_vector.erase(std::remove(test_vector.begin(), test_vector.end(), test % 10), test_vector.end());
test = test / 10;
} while(test > 0);
- if(std::count(test_vector.begin(), test_vector.end(), 0) &&
- std::count(test_vector.begin(), test_vector.end(), 1) &&
- std::count(test_vector.begin(), test_vector.end(), 2) &&
- std::count(test_vector.begin(), test_vector.end(), 3) &&
- std::count(test_vector.begin(), test_vector.end(), 4) &&
- std::count(test_vector.begin(), test_vector.end(), 5) &&
- std::count(test_vector.begin(), test_vector.end(), 6) &&
- std::count(test_vector.begin(), test_vector.end(), 7) &&
- std::count(test_vector.begin(), test_vector.end(), 8) &&
- std::count(test_vector.begin(), test_vector.end(), 9))
+ if(test_vector.size() == 0)
pandigitals.push_back(x);
x++;
} while(pandigitals.size() < n);
diff --git a/challenge-134/adam-russell/nuweb/ch-1.w b/challenge-134/adam-russell/nuweb/ch-1.w
index c0052ff3d2..ec1cfb79e4 100644
--- a/challenge-134/adam-russell/nuweb/ch-1.w
+++ b/challenge-134/adam-russell/nuweb/ch-1.w
@@ -136,21 +136,12 @@ Write a script to generate first 5 Pandigital Numbers in base 10.
@d check if pandigital
@{
int test = x;
- std::vector<int> test_vector;
+ std::vector<int> test_vector = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
do{
- test_vector.push_back(test % 10);
+ test_vector.erase(std::remove(test_vector.begin(), test_vector.end(), test % 10), test_vector.end());
test = test / 10;
}while(test > 0);
- if(std::count(test_vector.begin(), test_vector.end(), 0) &&
- std::count(test_vector.begin(), test_vector.end(), 1) &&
- std::count(test_vector.begin(), test_vector.end(), 2) &&
- std::count(test_vector.begin(), test_vector.end(), 3) &&
- std::count(test_vector.begin(), test_vector.end(), 4) &&
- std::count(test_vector.begin(), test_vector.end(), 5) &&
- std::count(test_vector.begin(), test_vector.end(), 6) &&
- std::count(test_vector.begin(), test_vector.end(), 7) &&
- std::count(test_vector.begin(), test_vector.end(), 8) &&
- std::count(test_vector.begin(), test_vector.end(), 9))
+ if(test_vector.size() == 0)
pandigitals.push_back(x);
@}