From f93bd5e403b0ae4315db8145660eff4c2d35450b Mon Sep 17 00:00:00 2001 From: sijanec Date: Mon, 30 Nov 2020 18:04:39 +0100 Subject: =?UTF-8?q?nem=C5=A1=C4=8Dina,=20naloga=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mat/advent/0/Makefile | 2 ++ mat/advent/0/better.php | 52 +++++++++++++++++++++++++++++++ mat/advent/0/fakulteta | Bin 0 -> 8640 bytes mat/advent/0/fakulteta.c | 70 ++++++++++++++++++++++++++++++++++++++++++ nem/delo/2711/dokument.md | 19 ++++++++++++ nem/hausaufgabe/7/dokument.md | 18 +++++++++++ soc/ocena/1/dokument.md | 2 +- 7 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 mat/advent/0/Makefile create mode 100755 mat/advent/0/better.php create mode 100755 mat/advent/0/fakulteta create mode 100644 mat/advent/0/fakulteta.c create mode 100644 nem/hausaufgabe/7/dokument.md diff --git a/mat/advent/0/Makefile b/mat/advent/0/Makefile new file mode 100644 index 0000000..d9c3a08 --- /dev/null +++ b/mat/advent/0/Makefile @@ -0,0 +1,2 @@ +default: + gcc -pedantic fakulteta.c -o fakulteta diff --git a/mat/advent/0/better.php b/mat/advent/0/better.php new file mode 100755 index 0000000..278ea32 --- /dev/null +++ b/mat/advent/0/better.php @@ -0,0 +1,52 @@ +#!/usr/bin/env php + 2) + $f[] = $n; + + return $f; +} +$f = array(); +for($i = 1; $i <= 100; $i++) { // za vse faktorje v 100! + fprintf(STDERR, "calculating for %d ... ", $i); + $x = primeFactors($i); + fprintf(STDERR, "%s\n", implode(",", $x)); + $f = array_merge($f,$x); +} +var_dump($f); +$r = array_count_values($f); +echo "ŠTEVILK 7 JE V 100! natanko ".$r[7]."\n"; +?> diff --git a/mat/advent/0/fakulteta b/mat/advent/0/fakulteta new file mode 100755 index 0000000..06aeea4 Binary files /dev/null and b/mat/advent/0/fakulteta differ diff --git a/mat/advent/0/fakulteta.c b/mat/advent/0/fakulteta.c new file mode 100644 index 0000000..24fb624 --- /dev/null +++ b/mat/advent/0/fakulteta.c @@ -0,0 +1,70 @@ +// shamelessly ukradeno iz +// https://www.geeksforgeeks.org/factorial-large-number/ +// Maximum number of digits in output +#include +#include +#define MAX 5000 +int multiply(int x, int res[], int res_size); + +// This function finds factorial of large numbers +// and prints them +void factorial(int n) +{ + int res[MAX]; + + // Initialize result + res[0] = 1; + int res_size = 1; + + // Apply simple factorial formula n! = 1 * 2 * 3 * 4...*n + for (int x=2; x<=n; x++) + res_size = multiply(x, res, res_size); + + fprintf(stdout, "Factorial of given number is \n"); + for (int i=res_size-1; i>=0; i--) + fprintf(stdout, "%d", res[i]); + fprintf(stdout, "\n"); +} + +// This function multiplies x with the number +// represented by res[]. +// res_size is size of res[] or number of digits in the +// number represented by res[]. This function uses simple +// school mathematics for multiplication. +// This function may value of res_size and returns the +// new value of res_size +int multiply(int x, int res[], int res_size) +{ + int carry = 0; // Initialize carry + + // One by one multiply n with individual digits of res[] + for (int i=0; i