2007 – 7

Si considerino le seguenti funzioni

void mf(int n, int k, int t[], int e)
{
    int i;
    if(e < n-1)
        for(i=t[e]+1; i <= k; i++)
        {
            t[e+1]=i;
            mf(n, k, t, e+1);
        }
}

void ES7(int n, int k)
{
    int t[10];
    int i;
    for(i=0 ; i < n; i++)
    {
        t[0]=i+1;
        mf(n, k, t, 0);
    }
    for(i=0; i < n; i++)
        printf("%d ", t[i]);
    printf("\n");
}

Si assuma che sempre si verifichi n <= 10.
Dire cosa stampa su schermo la chiamata ES7(3, 4).

Risposte:

  1. 1 2 4
  2. 2 3 4
  3. 3 4 4
  4. nessuna delle precedenti

Soluzione: c.


Rinuncio... provare per credere!