Making a Floyd’s Triangle (in C)

Wed 25 May 2011

Some of the most intriguing bits of math can come from the simplest little patterns. Take for instance the Floyd’s Triangle. This pattern can be generated in under 20 lines of C, and generates not just triangle numbers on the right-most numbers, but also generates the lazy caterer’s sequence on the left-most numbers.

The triangle:

1
2  3
4  5  6
7  8  9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55

The code:

// Copyright (c) 2011 David Crosby - http://www.dafyddcrosby.com
// BSD 3-clause license

#include <stdio.h>
#define MAXROWS 10

int main() {
    int i, j, runcount;

    runcount = 0;
    for (i=1; i<=MAXROWS; i++){
        for (j=1;j<=i;j++){
            runcount++;
            printf("%2d ",runcount);
        }
        printf("\n");
    }
    return 0;
}

blogroll

social