diff options
Diffstat (limited to 'mat/advent/4')
-rw-r--r-- | mat/advent/4/Makefile | 3 | ||||
-rwxr-xr-x | mat/advent/4/a.out | bin | 0 -> 8432 bytes | |||
-rwxr-xr-x | mat/advent/4/n1 | bin | 0 -> 8432 bytes | |||
-rw-r--r-- | mat/advent/4/n1.c | 22 | ||||
-rw-r--r-- | mat/advent/4/prog.c | 16 |
5 files changed, 41 insertions, 0 deletions
diff --git a/mat/advent/4/Makefile b/mat/advent/4/Makefile new file mode 100644 index 0000000..cb76e0f --- /dev/null +++ b/mat/advent/4/Makefile @@ -0,0 +1,3 @@ +default: + gcc prog.c -pedantic + gcc n1.c -pedantic -o n1 diff --git a/mat/advent/4/a.out b/mat/advent/4/a.out Binary files differnew file mode 100755 index 0000000..c1c724c --- /dev/null +++ b/mat/advent/4/a.out diff --git a/mat/advent/4/n1 b/mat/advent/4/n1 Binary files differnew file mode 100755 index 0000000..9d59953 --- /dev/null +++ b/mat/advent/4/n1 diff --git a/mat/advent/4/n1.c b/mat/advent/4/n1.c new file mode 100644 index 0000000..157d60d --- /dev/null +++ b/mat/advent/4/n1.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +int main (int argc, char ** argv) { + if (argc != 1+2) { + fprintf(stderr, "uporaba: %s <število> <število>\nprimer-število deliteljev 3019, ki niso delitelji 2020: %s 3019 2020\n", argv[0], argv[0]); + return 1; + } + unsigned long int n = strtol(argv[1], NULL, 10); + unsigned long int o = strtol(argv[2], NULL, 10); + unsigned long int i = 0; + unsigned long int s = 0; + unsigned long int d = 0; + for (i = 1; i <= n; i++) + if (n % i == 0) { + d++; + if (o % i != 0) + s++; + } + fprintf(stdout, "števil, ki delijo %lu (=%lu), ne pa %lu, je %lu\n", n,d,o,s); + return 0; +} diff --git a/mat/advent/4/prog.c b/mat/advent/4/prog.c new file mode 100644 index 0000000..a50524f --- /dev/null +++ b/mat/advent/4/prog.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#include <stdlib.h> +int main (int argc, char ** argv) { + if (argc != 1+1) { + fprintf(stderr, "uporaba: %s <dolzina stranice kvadratne mreze>\nprimer za šahovnico: %s 8\n", argv[0], argv[0]); + return 1; + } + unsigned long int n = strtol(argv[1], NULL, 10); + unsigned long int x = 1; + unsigned long int y = 1; + unsigned long int s = 0; + for (x = 1; x <= n; x++) + for (y = 1; y <= n; y++) + s = s + x * y; + fprintf(stdout, "seštevek možnih pravokotnikov v mreži %lux%lu je %lu\n", n, n, s); +} |