/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/fsm/fsm/www.getnumbers.de/gambler2.c


#include <stdio.h>

int main (void) {
    FILE *fp;
    char str [4];
    int d;
    int a [8129];
    int n;
    int i;
    int k;
    long d1;
    long d2;
    int j;
    float fact1;
    float fact2;

    if ((fp = fopen ("./gambler.txt", "r")) == NULL) {
            perror ("Can't open file");
            return -1;
    }
    
    n = 0;
    while (!feof(fp)) {
            fgets (str, 4, fp);
            sscanf (str, "%d", &a [n]);
            printf ("%d\n", a[n]);
            n++;
    }
    
    for (i = 0;  i < n-1;  i++) 
        printf ("%f\n", (float)a[i+1]/(float)a[i]);

    for (k = 1;  k < 7;  k++) {
        for (i = 0;  i < n-k;  i += k*2) {
            d1 = a [i];
            for (j = 1;  j < k;  j++) {
                d1 = d1*10;
                d1 += a [i+j];
            }
            d2 = a [i+j];
            for (j++;  j < k*2;  j++) {
                d2 = d2*10;
                d2 += a [i+j];
            }
            printf ("%d\n", d1);
            printf ("%d\n", d2);
        }
    }

    
    for (k = 1;  k < 7;  k++) {
        for (i = 0;  i < n-k;  i += k*2) {
            d1 = a [i];
            for (j = 1;  j < k;  j++) {
                d1 = d1*10;
                d1 += a [i+j];
            }
            d2 = a [i+j];
            for (j++;  j < k*2;  j++) {
                d2 = d2*10;
                d2 += a [i+j];
            }
            fact2 = fact1;
            fact1 = (float)d1/(float)d2;
            printf ("%f %f %f\n", fact2/fact1, fact2-fact1, (fact2/fact1)-(fact2-fact1));
        }
    }

    fclose (fp);

}