Project Euler : Solution au problème 6, en C

A l'heure où j'écris ceci, il y a en tout 216 problèmes dans la liste de Project Euler, ça demande un peu de productivité pour en trouver une solution avant que d'autres n'apparaissent. Dans l'immédiat voici une solution au problème 6, sixième sur deux cents seize...

/* 2008/11/09 - euler6.c
 * Solution au Probleme 6 de Project Euler
 * http://projecteuler.net/index.php?section=problems&id=6
 * Jean Karim Bockstael - jkb@jkbockstael.be
 */

#include <stdio.h>

int euler6(int range) {
    unsigned int squaresum=0;
    unsigned int sumsquare=0;
    int i;
    for (i=1; i<=range; i++) {
        squaresum+=(i*i);
        }
    for (i=1; i<=range; i++) {
        sumsquare+=i;
    }
    sumsquare*=sumsquare;
    return (int)sumsquare-squaresum;
    }

int main(int argc, char** argv) {
    printf("%i\n",euler6(100));
    return 0;
    }

cc-by-nc | code (c) | project euler

<<< Tant de choses... (2008-11-19) | Project Euler : Solution au problème 5, en C (2008-11-10) >>>