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 |
} |