summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c')
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c b/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c
index 2e5ba478..a2eed09f 100644
--- a/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c
+++ b/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c
@@ -18,25 +18,22 @@ void sfactors(float in,float* out)
int n=(int)in;
while (n%2 == 0)
{
- //printf("%d ", 2);
- out[k++]=2;
+ out[k++]=2;
n = n/2;
}
- for (i = 3; i <= sqrt(n); i = i+2)
+ for (i = 3; i <= (int)sqrt((double)n); i = i+2)
{
while (n%i == 0)
{
- out[k++]=i;
- //printf("%d ", i);
+ out[k++]=i;
n = n/i;
}
}
- if (n > 2)
+ if (n > 2)
{
out[k++]=n;
- //printf ("%d ", n);
- }
+ }
}