    #include <math.h>
    #include <stdio.h>
     
    int digits_for_pages(unsigned n) {
    	// oeis A058183
        return (n+1)*floor(log10(10*n)) - (pow(10, floor(log10(10*n)))-1)/(10-1);
    }
     
    int main(void) {
    	int p;
    	p = 9; printf("%d pages need %d digits\n", p, digits_for_pages(p));
    	p = 10; printf("%d pages need %d digits\n", p, digits_for_pages(p));
    	p = 11; printf("%d pages need %d digits\n", p, digits_for_pages(p));
    	p = 99; printf("%d pages need %d digits\n", p, digits_for_pages(p));
        p = 100; printf("%d pages need %d digits\n", p, digits_for_pages(p));
    	p = 999; printf("%d pages need %d digits\n", p, digits_for_pages(p));
    	p = 1000; printf("%d pages need %d digits\n", p, digits_for_pages(p));
    	return 0;
    }
