diff options
author | siddhu8990 | 2017-04-19 14:57:49 +0530 |
---|---|---|
committer | siddhu8990 | 2017-04-19 14:57:49 +0530 |
commit | 1fd0dce8d72c4d5869ce5ff4025ac09af603bc0f (patch) | |
tree | 34e52b33707a829c1d8484428c96d3f1f6ce2b3a /src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c | |
parent | 9e506f48291533cba7b4c555b0d2e98f234bfbe3 (diff) | |
download | scilab2c-1fd0dce8d72c4d5869ce5ff4025ac09af603bc0f.tar.gz scilab2c-1fd0dce8d72c4d5869ce5ff4025ac09af603bc0f.tar.bz2 scilab2c-1fd0dce8d72c4d5869ce5ff4025ac09af603bc0f.zip |
Merged Shamik's work
Diffstat (limited to 'src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c')
-rw-r--r-- | src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c | 31 |
1 files changed, 31 insertions, 0 deletions
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 <stdio.h> +# include <math.h> + +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); + } +} + |