Scrivere una funzione ricorsiva C che,
• preso in ingresso un intero positivo k,
• legga da linea di comando (senza memorizzarla) una sequenza di interi positivi che termina quando la somma dei valori immessi supera strettamente k (l’ultimo numero non fa parte della sequenza), e
• restituisca il numero di interi immessi.
Io ho provato a scrivere questo:
- Codice:
int contaric(int k){
int n;
scanf("%d",&n);
if(n>k) return 1;
else return 1+contaric(k-n);
}
Il problema è che conta anche l'ultimo numero immesso che non dovrebbe far parte della sequenza. Come posso migliorarlo?