Instead of repeating several calls to `digitalwrite` you should consider changing the pins directly as described [here][1].

This now depends on which port your LEDs are connected to. Assuming port D you would use `DDRD` to define the pins as output (usually in `setup()`) and `PORTD` to set their values (in `loop`), e.g.

    DDRD = B11111110; // define pins 1..7 as outputs, pin 0 as input

and

    PORTD = B11110000; // switch on first 4 LEDs

Now all you need to do is to write a function to map your number range to suitable bit strings.

The function could look like this:

    int convert(int n) {                                                                     

      int res = 0;   // start with all pins off (zero)
      while (n > 100) { 
        res <<= 1;   // shift pattern 1 bit (i.e. pin) to the left
        res |= 1;    // "switch on" lowest pin 
        n -= 100;    // defines step size (1 LED for every  100)
      }
      return res;

    }

It takes your value and returns an `int` that you can assign to the port. I.e. for 0..100 it returns `0`, for 101..200 it returns `1`, for 201..300 it returns `3` = `B11`, for 301..400 it returns `7` = `B111` and so on. (Note that it does not do any sanity checks on the input / output but that's certainly easy for you to add if needed.)

(In response to comment: Note that the bit pattern I use as example for `DDRD` above is an example: It sets bit / pin 0 as input. If you use `convert` you would, of course, set the lowest bit of `DDRD` to 1 to make it an output.)

  [1]: http://www.arduino.cc/en/Reference/PortManipulation