From 190507a0a05e7a6292b41bec529910ecfcbb69fb Mon Sep 17 00:00:00 2001 From: sijanec Date: Thu, 3 Dec 2020 17:08:39 +0100 Subject: =?UTF-8?q?kon=C4=8Danih=20prvih=2010=20eulerjevih=20problemobv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mat/euler/2/Makefile | 2 ++ mat/euler/2/a.out | Bin 0 -> 8432 bytes mat/euler/2/prog.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 mat/euler/2/Makefile create mode 100755 mat/euler/2/a.out create mode 100644 mat/euler/2/prog.c (limited to 'mat/euler/2') diff --git a/mat/euler/2/Makefile b/mat/euler/2/Makefile new file mode 100644 index 0000000..2def8af --- /dev/null +++ b/mat/euler/2/Makefile @@ -0,0 +1,2 @@ +default: + gcc prog.c diff --git a/mat/euler/2/a.out b/mat/euler/2/a.out new file mode 100755 index 0000000..5b7faf9 Binary files /dev/null and b/mat/euler/2/a.out differ diff --git a/mat/euler/2/prog.c b/mat/euler/2/prog.c new file mode 100644 index 0000000..607417c --- /dev/null +++ b/mat/euler/2/prog.c @@ -0,0 +1,33 @@ +#include +#include +int main (int argc, char ** argv) { + if (argc != 1+2) { + fprintf(stderr, "uporaba: %s \nprimer, ki sešteje vsa liha fibonačijeva števila do 2M: %s 2000000 -2\nče je deljenec negativen, se seštejejo števila, ki NISO deljiva z deliteljem\n", argv[0], argv[0]); + return 1; + } + unsigned long int s = strtoll(argv[1], NULL, 10); // makSimalno + unsigned long int d = strtoll(argv[2], NULL, 10); // Delitelj + unsigned short int o = (llabs(d) == d); + d = llabs(d); + unsigned long int i = 1; + unsigned long int j = 2; + unsigned long int c = 0; // Carry + unsigned long int e = 0; // sEštevek + while (i <= s) { + fprintf(stderr, "i = %ld, seštevek = %ld\n", i, e); + if (o) { + if (i % d == 0) { + e = e + i; + } + } else { + if (i % d != 0) { + e = e + i; + } + } + c = i + j; + i = j; + j = c; + } + fprintf(stdout, "\rseštevek števil do %ld, ki z %ld %s deljiva: %ld\n", s, d, o ? "so" : "niso", e); + return 0; +} -- cgit v1.2.3