From 1fd0dce8d72c4d5869ce5ff4025ac09af603bc0f Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Wed, 19 Apr 2017 14:57:49 +0530 Subject: Merged Shamik's work --- .../discrete_mathematics/factor/dfactors.c | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c (limited to 'src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c') diff --git a/src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c b/src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c new file mode 100644 index 00000000..210670bb --- /dev/null +++ b/src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c @@ -0,0 +1,31 @@ +# include +# include + +void dfactors(double in,double* out) +{ + int i=0,k=0; + int n=(int)in; + while (n%2 == 0) + { + //printf("%d ", 2); + out[k++]=2; + n = n/2; + } + + for (i = 3; i <= sqrt(n); i = i+2) + { + while (n%i == 0) + { + out[k++]=i; + //printf("%d ", i); + n = n/i; + } + } + + if (n > 2) + { + out[k++]=n; + //printf ("%d ", n); + } +} + -- cgit