From b25b4532a45698e235c387e32d8ed27810352342 Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Mon, 5 Dec 2016 20:35:58 -0800 Subject: [PATCH] Problem 38 --- 38 | Bin 0 -> 8256 bytes 38.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 38.txt | 27 +++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100755 38 create mode 100644 38.c create mode 100644 38.txt diff --git a/38 b/38 new file mode 100755 index 0000000000000000000000000000000000000000..fa518d437d2e39d0a807efe9723ff780894d838a GIT binary patch literal 8256 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 AMF0Q* literal 0 HcmV?d00001 diff --git a/38.c b/38.c new file mode 100644 index 0000000..5657510 --- /dev/null +++ b/38.c @@ -0,0 +1,57 @@ +#include +#include +#include + +bool hasUniqueDigits (int i) { + int a = i % 10; + i /= 10; + int b = i % 10; + i /= 10; + int c = i % 10; + i /= 10; + int d = i % 10; + return a != b && a != c && a != d && + b != c && b != d && + c != d; +} + +bool isPandigital (int i, int j) { + int a = i % 10; + i /= 10; + int b = i % 10; + i /= 10; + int c = i % 10; + i /= 10; + int d = i % 10; + + int e = j % 10; + j /= 10; + int f = j % 10; + j /= 10; + int g = j % 10; + j /= 10; + int h = j % 10; + j /= 10; + int k = j % 10; + + return a != 0 && b != 0 && c != 0 && d != 0 && e != 0 && f != 0 && g != 0 && h != 0 && k != 0 && + a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != k && + b != c && b != d && b != e && b != f && b != g && b != h && b != k && + c != d && c != e && c != f && c != g && c != h && c != k && + d != e && d != f && d != g && d != h && d != k && + e != f && e != g && e != h && e != k && + f != g && f != h && f != k && + g != h && g != k && + h != k; +} + +int main () { + int n = 9182; + for (int i = 9183; i <= 9876; i++) { + if (hasUniqueDigits (i)) { + if (isPandigital (i, 2 * i)) + n = i; + } + } + printf ("%d%d\n", n, 2 * n); +} diff --git a/38.txt b/38.txt new file mode 100644 index 0000000..3862fae --- /dev/null +++ b/38.txt @@ -0,0 +1,27 @@ +Given a certain tuple (1, 2, ..., n), only a certain range of integers i are allowed to produce a nine-digit concatenation. +(1, 2): 1 * _ _ _ _ = _ _ _ _ + 2 * _ _ _ _ = _ _ _ _ _ + 5000 <= i <= 9999 +(1, 2, 3): 1 * _ _ _ = _ _ _ + 2 * _ _ _ = _ _ _ + 3 * _ _ _ = _ _ _ + 100 <= i <= 333 +(1, 2, 3, 4): 1 * _ _ = _ _ + 2 * _ _ = _ _ + 3 * _ _ = _ _ + 4 * _ _ = _ _ _ + 25 <= i <= 33 +(1, 2, 3, 4, 5): 1 * _ = _ + 2 * _ = _ _ + 3 * _ = _ _ + 4 * _ = _ _ + 5 * _ = _ _ + 5 <= i <= 9 +(1, 2, 3, 4, 5, 6): 1 * _ = _ + 2 * _ = _ + 3 * _ = _ + 4 * _ = _ _ + 5 * _ = _ _ + 6 * _ = _ _ + i == 3 +In the given example, 9 x (1, 2, 3, 4, 5) = 918273645. Then to produce a larger concatenation, with the given restrictions on i, we can only use i x (1, 2), where 9183 <= i <= 9876. Then only 693 values of i need to be tested.