cwtests/cw02/factors.while
author Christian Urban <christian.urban@kcl.ac.uk>
Tue, 19 Oct 2021 22:51:51 +0100
changeset 846 c24d16c89c48
parent 833 7c3b8bb4a174
child 853 851d8c00f033
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
833
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     1
// Find all factors of a given input number
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     2
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     3
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     4
write "Input n please";
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     5
read n;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     6
write "The factors of n are";
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     7
f := 2;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     8
while (f < n / 2 + 1) do {
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     9
  if ((n / f) * f == n) then  { write(f) } else { skip };
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    10
  f := f + 1
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    11
}