# Factoring in Fortran

1. Mar 19, 2008

### Jeepster

Got to write a program that factors a given number(>1)

Here is what I have:

program Factors
implicit none
real::n, i

print*, "enter a number:"

i=2
do while (n>1)
if (mod(n, i)==0) then
i=i+1
n=n/i
else
write (*,*) ' X= ', X
end if
end do

end program

It works great but lets say you put in 600, it will give

2
2
2
3
5
5

which is right but the teacher wants it to say:

2**3*3*5**2

I dont have a clue how to make it do that.

Thanks for any help. :)

2. Mar 19, 2008

### CRGreathouse

You'll need an inner loop that counts how many times a given factor is used, storing that in another variable. If it's used once write it with a "*", otherwise write it with a "**", the exponent, then another "*".

3. Mar 19, 2008

### Jeepster

ok. I put this together but Im getting an error

program Factors
implicit none
real::n, i, x
integer::f, c=20

print*, "enter a positive integer:"

i=2
do while (n>1)
if (mod(n, i)==0) then
i=i+1
n=n/i
else

write(*, 100) i, "**", c