Trova numero come somma dei precedenti

Leggere un numero indefinito di interi da tastiera fino a che l’ultimo elemento inserito sia uguale alla somma dei precedenti inseriti. Esercizio da codificare in C++.

Esercizio apparentemente semplice ma che contiene una insidia per il programmatore in erba che ha poca dimestichezza con i cicli. L’idea è quella di inserire immediatamente un primo elemento e valutare se inserirne un successivo. La strategia sta nel non usare una if ma la condizione stessa del ciclo while per procedere ai successivi inserimenti.

/*
 * Leggere un numero indefinito di interi da tastiera
 * fino a che l'ultimo elemento inserito sia uguale
 * alla somma dei precedenti inseriti
*/ 
#include <iostream>
using namespace std;

int main() 
{
    int n;
    int somma = 0;
  
    cout << "Inserisci il primo numero ";
    cin >> n;  
  
    while (somma  != n )
    {
      somma = somma + n;
      cout << "Inserisci un altro numero ";
      cin >> n;
    }  
    return 0;
}

Listati

Eseguilo su Replit -> qui

Listato su GitHub -> qui

Ultima modifica 16 Giugno 2022