Table of Contents

CNV0

Background

Determining factor pairs

To determine factor pairs you can make an iterative loop, and check for how many times your input value is evenly divided by a number, ie. for 6 you would check:

6 % 1 = 0, 6 % 2 = 0, 6 % 3 = 0, 6 % 4 = 2, 6 % 5 = 1, 6 % 6 = 0

There are 4 zeros, so 6 has 4 factors.

Determining factor pairs takes a little bit more work than you would imagine, as you cannot simply divide by 2, because of square numbers, who have an odd number of factors.

Instead, you can ignore 1 as a factor, divide the amount of other factors by 2, then add 1 to your amount of factor pairs.

This process may look like:

int i;
for (i=2; i<=input; i++) {
    if ((input % i) == 0) {
    factorpairs++;
    }
}
factorpairs = (factorpairs / 2) + 1

Compiling

Loops

for() loops

A for loop is a loop that iterates based on a set of given parameters for example a for loop that starts at 0 and iterates 1000 times would look like:

int i;
for (i=0; i<=1000; i++) {
    whatever you want to happen;
} 

An example of a for loop that shows what iteration the loop is on, i.e Iteration: 0, Iteration: 1, etc. until it reaches Iteration: 9 and ends the loop:

int i;
for (i = 0; i < 10; i++) {
    printf("Iteration: %d\n", i);
}

while() loops

A while loop is a loop that continues to iterate as long as the input evaluates to true. a while loop that iterates until an input variable reaches some designated value may look like:

while (var != 100) {
    whatever you want it to do;
    }

If you arent careful with your condition a while loop will iterate endlessly, preventing your code from moving past the loop

unsigned int var = 0;
var = 20;
while (var == 20){
    do something that doesnt effect var;
    }
the rest of your code;

In this case, because var never changes from 20, the while loop will never end You can also achieve this endless iteration by typing

 while (true) {
    some code;
    }

Because the condition is always true it will never escape the loop

do-while loops

A do-while loop issues commands then checks the condition rather than checking the condition and then issuing the commands.

int i = 5;
do
{
    i--;
} while ( i > 0 )

An example of a do-while loop being used. This loop will check if the user has inputted the correct password. The loop will continue until number equals 1234:

int number;
do {
    printf("Enter the password: ");
    scanf("%d", &number);
} while (number != 1234);