From ea269468630076e333ed440d17f4c8679d3d4e9a Mon Sep 17 00:00:00 2001 From: Paulo Custodio Date: Thu, 24 Jun 2021 22:52:22 +0100 Subject: Add C and C++ solutions to challenge 009 --- challenge-009/paulo-custodio/cpp/ch-1.cpp | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 challenge-009/paulo-custodio/cpp/ch-1.cpp (limited to 'challenge-009/paulo-custodio/cpp/ch-1.cpp') diff --git a/challenge-009/paulo-custodio/cpp/ch-1.cpp b/challenge-009/paulo-custodio/cpp/ch-1.cpp new file mode 100644 index 0000000000..a647b3cfd7 --- /dev/null +++ b/challenge-009/paulo-custodio/cpp/ch-1.cpp @@ -0,0 +1,37 @@ +/* +Challenge 009 + +Challenge #1 +Write a script that finds the first square number that has at least 5 distinct +digits.This was proposed by Laurent Rosenfeld. +*/ + +#include +using namespace std; + +int num_diff_digits(int n) { + bool digits[10] = {0}; + int count = 0; + while (n > 0) { + int digit = n % 10; + n /= 10; + if (!digits[digit]) { + digits[digit] = true; + count++; + } + } + return count; +} + +int main(int argc, char* argv[]) { + int num = 0; + if (argc == 2) + num = atoi(argv[1]); + if (num == 0) + num = 5; + + int n = 1; + while (num_diff_digits(n * n) < num) + n++; + cout << n * n << endl; +} -- cgit