From 1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Thu, 24 May 2018 21:39:58 +0800 Subject: initial commit --- euler39.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 euler39.c (limited to 'euler39.c') diff --git a/euler39.c b/euler39.c new file mode 100644 index 0000000..e4cd40c --- /dev/null +++ b/euler39.c @@ -0,0 +1,38 @@ +#include + +int np(int p) +{ + int n = 0; + int a; + + /* p = a + b + c, with a*a+b*b=c*c */ + /* b = (p*p-2pa)/(2p-2a) */ + if (p % 2 == 1) + return 0; + + a = 1; + while (1) { + int nu = p * (p - a*2); + int de = (p - a) * 2; + if (nu % de == 0 && nu/de > a) + n++; + if (nu/de < a) + break; + a++; + } + return n; +} + +int main() +{ + int bestp, M = 0; + int i; + for (i = 3; i<=1000; i++) { + int m = np(i); + if (m > M) { + bestp = i; + M = m; + } + } + printf("%d\n", bestp); +} -- cgit v1.2.3