solutions/cw2/factors.while
author Christian Urban <christian.urban@kcl.ac.uk>
Mon, 30 Oct 2023 12:58:45 +0000
changeset 949 61797848eede
parent 920 7af2eea19646
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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;
920
7af2eea19646 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 894
diff changeset
     6
write "The factors of n are:\n";
864
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     7
f := 2;
920
7af2eea19646 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 894
diff changeset
     8
while (f < n / 2 + 1) do {
7af2eea19646 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 894
diff changeset
     9
  if ((n / f) * f == n) then  { write(f); write "\n" } else { skip };
7af2eea19646 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 894
diff changeset
    10
  f := f + 1
7af2eea19646 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 894
diff changeset
    11
}