| 864 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      1 | // Find all factors of a given input number
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      2 | // by J.R. Cordy August 2005
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      3 | 
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      4 | write "Input n please";
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      5 | read n;
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      6 | write "The factors of n are:\n";
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      7 | f := 2;
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      8 | while n != 1 do {
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |      9 |     while (n / f) * f == n do {
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |     10 |         write f; write "\n";
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |     11 |         n := n / f
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |     12 |     };
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |     13 |     f := f + 1
 | 
| 
Christian Urban <christian.urban@kcl.ac.uk> parents: diff
changeset |     14 | } |