e ÀÚ¿¬´ë¼öÀÇ ¹Ù´Ú eÀÇ °ªÀ» ´ÙÀÚ¸®¼ö·Î »êÃâÇÑ´Ù
void e(int *data, int keta);
data (Ãâ·Â) eÀÇ °ªÀÌ 10Áø 4ÀÚ¸®¼ö¾¿ µé¾î°£ Á¤¼öÀÇ ¹è¿ keta (ÀÔ·Â) ¼Ò¼öÁ¡ ÀÌÇÏÀÇ ÀÚ¸®¼öÀÇ ÁöÁ¤
¾øÀ½
#define LOG2_10    3.322
void e(int *data, int keta)
{
    int  i, j;
    unsigned k, k2, n, s;
    int  len;
    int  *dap;
    long x;
    
    len = (keta-1) / 4 + 2;
    for (dap = data, j = len; j--; ) *dap++ = 0;
    n = keta * LOG2_10 + 1;
    k = 1; k2 = 2;
    s = 0; j = -1;
    for (i = 1; s <= n; i++) {
        if (i >= k) {
            k = k2;
            k2 <<= 1;
            j++;
        }
        s += j;
    }
    *data = 1;
    while (--i) {
        x = 0;
        for (j = len, dap = data; j--; ) {
            x = x * 10000 + *dap;
            *dap++ = x / i;
            x %= i;
        }
        (*data)++;
    }
}