progs/while-tests/factors.while
changeset 824 fb5462a350b1
parent 742 155426396b5f
equal deleted inserted replaced
823:e42a180e2e39 824:fb5462a350b1
     1 // Find all factors of a given input number
     1 // Find all factors of a given input number
     2 // by J.R. Cordy August 2005
     2 
     3 
     3 
     4 write "Input n please";
     4 write "Input n please";
     5 read n;
     5 read n;
     6 write "The factors of n are";
     6 write "The factors of n are";
     7 f := 2;
     7 f := 2;
     8 while n != 1 do {
     8 while (f < n / 2 + 1) do {
     9     while (n / f) * f == n do {
     9   if ((n / f) * f == n) then  { write(f) } else { skip };
    10         write f;
    10   f := f + 1
    11         n := n / f
       
    12     };
       
    13     f := f + 1
       
    14 }
    11 }