From a6a0c75f5ed200933c7fa24a166fca13ea24805a Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Sat, 3 Dec 2016 17:08:36 -0800 Subject: [PATCH] Problem 32 --- 32 | Bin 0 -> 8040 bytes 32.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100755 32 create mode 100644 32.c diff --git a/32 b/32 new file mode 100755 index 0000000000000000000000000000000000000000..9971888a14e43fa82a09f6c7b397890eb03c67f8 GIT binary patch literal 8040 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 literal 0 HcmV?d00001 diff --git a/32.c b/32.c new file mode 100644 index 0000000..4ca4d61 --- /dev/null +++ b/32.c @@ -0,0 +1,70 @@ +#include +#include +#include + +bool isPandigital (int a, int b, int c, int d, int e, int product) { + if (product < 9999) { + int thous = product; + int ones = thous % 10; + thous /= 10; + int tens = thous % 10; + thous /= 10; + int hunds = thous % 10; + thous /= 10; + + return ones != 0 && tens != 0 && hunds != 0 && thous != 0 && + ones != a && ones != b && ones != c && ones != d && ones != e && + tens != a && tens != b && tens != c && tens != d && tens != e && + hunds != a && hunds != b && hunds != c && hunds != d && hunds != e && + thous != a && thous != b && thous != c && thous != d && thous != e && + ones != tens && ones != hunds && ones != thous && + tens != hunds && tens != thous && + hunds != thous; + } + return false; +} + +void oneByFour (int a, int b, int c, int d, int e) { + // a x bcde = _ _ _ _ + if (a > 1 && a < 9) { + int multiplier = b * 1000 + c * 100 + d * 10 + e; + int product = a * multiplier; + + if (isPandigital (a, b, c, d, e, product)) + printf ("%d x %d = %d\n", a, multiplier, product); + } +} + +void twoByThree (int a, int b, int c, int d, int e) { + // ab x cde = _ _ _ _ + int multiplicand = a * 10 + b; + int multiplier = c * 100 + d * 10 + e; + int product = multiplicand * multiplier; + + if (isPandigital (a, b, c, d, e, product)) + printf ("%d x %d = %d\n", multiplicand, multiplier, product); +} + +int main (int argc, char* argv[]) { + for (int a = 1; a <= 9; a++) { + for (int b = 1; b <= 9; b++) { + if (a == b) + continue; + for (int c = 1; c <= 9; c++) { + if (c == b || c == a) + continue; + for (int d = 1; d <= 9; d++) { + if (d == c || d == b || d == a) + continue; + for (int e = 1; e <= 9; e++) { + if (e == d || e == c || e == b || e == a) + continue; + + oneByFour (a, b, c, d, e); + twoByThree (a, b, c, d, e); + } + } + } + } + } +}