progs/while-tests/factors.while
changeset 824 284ac979f289
parent 742 b5b5583a3a08
equal deleted inserted replaced
823:bde572a54112 824:284ac979f289
     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 }