From 7f25c6fc31b376ca1ed0f4c183ef4d232b6ee2b5 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Sun, 3 Jun 2018 21:49:08 +0800 Subject: 73,74,85,357 --- euler85.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 euler85.c (limited to 'euler85.c') diff --git a/euler85.c b/euler85.c new file mode 100644 index 0000000..97687bb --- /dev/null +++ b/euler85.c @@ -0,0 +1,32 @@ +#include +#include + +/* rectangle count for a m*n grid: + * for i = 1 to m + * for j = 1 to n + * (m-i+1)*(n-j+1) + * = [m(m+1)/2][n(n+1)/2] + */ + +#define AREA 2000000 + +int main() +{ + int m, n, bestm, bestn; + int nearest = AREA; + for (m = 1; m <= 2000; m++) { + int a1 = m*(m+1)/2; + for (n = 1; n <= 2000; n++) { + int area = a1*n*(n+1)/2; + if (area > AREA && area-AREA>nearest) + break; + if (abs(area-AREA) < nearest) { + nearest = abs(area-AREA); + bestm = m; + bestn = n; + } + } + } + + printf("%d * %d = %d\n", bestm, bestn, bestm*bestn); +} -- cgit v1.2.3