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