Il programma in questione produce il numero totale di valori nell'array per cui x è esattamente divisibile... forse hai copiato male, o semplicemente questo era un esempio generale su come affrontare questo tipo di problemi.

Comunque, se capisci questo esempio sarà banale scrivere il tuo esercizio:
codice:
/**
 * Restituisce il numero di elementi di v per cui x è divisibile
 */
int div (int v[], int n, int x) {
    int ris;                // risultato della funzione
    if(n==0) return 0;      // caso base: mi è stato passato un vettore vuoto, restituisco zero

    ris=div(&v[1],n-1,x);   // passo ricorsivo: calcolo il valore di questa funzione sull'array
                            // "accorciato" (dal secondo elemento in poi)

    if(x%v[0]==0)           // considero il primo elemento (l'unico non considerato dal passo ricorsivo)
        ris++;              // se x è divisibile per esso, allora devo aggiungere uno alla risposta

    return ris;             // restituisco il valore calcolato
}