# Looping and branching examples

This page contains some PHP examples that use loops and if/else code.

## Contents |

#### The 3N+1 Problem

For *N>0*, repeatedly applying the following rules will lead to a series of integers that eventually converges at 1: If *N* is even, divide it by 2; if *N* is odd, multiply it by 3 and add 1. Write a PHP script to illustrate this problem.

#### Algorithm

1. Assign N a value > 1. 2. Loop while N > 1: 3. Print N. 4. If N is even 5. N = N / 2 6. Else 7. N = 3 * N + 1 8. Done.

#### PHP Code

<?php $n = 6; // rand(2,100); while ($n > 1) { echo "$n<BR>"; if ($n % 2 == 0) { $n = $n / 2; } else { $n = 3 * $n + 1; } } ?>

Click here for a ThreeNPlus1 solution.

#### The 3N+1 Form

This problem would be more interesting if the user could input the value of *N* rather than having it set in the program.

#### HTML Form

<FORM ACTION=".$self." METHOD="GET"> <LABEL>N: <INPUT TYPE="text" NAME="N" /> </LABEL> <INPUT TYPE="submit" NAME="Go!" /> </FORM>

Click here for an example that creates a ThreeNPlus1 form solution.