Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    52

    [C++] Stampa sequenza numeri divisibili per due

    Ciao a tutti

    Sto cercando di costruire una routine che dato un numero intero pari in input mi stampi a video tutti i numeri divisibili per due.
    La routine deve terminare quando n=1

    Ad esempio inserisco 8.
    Quindi nel primo ciclo farà 8/2=4, il secondo poi 4/2=2, poi 2/2=1 e quindi si ferma perché n=1

    Ho provato con questo codice ma è sbagliato perché si ferma alla prima divisione, non riesco a capire come iterare il ciclo

    Grazie

    codice:
    #include <iostream>
    using namespace std;
    int main (){
     int n,ris;
     
     //imposto le variabili
     ris=0;
     n=0;
     cout<<"Inserisci numero intero maggiore di zero"<<endl;
     cin>>n;
      do {
           if(n%2==0)
       {
           ris=n/2;
           n=ris;
           cout<<ris;
          }
          
               
         } while(n==1);
         
     }

  2. #2
    Utente di HTML.it L'avatar di Filippo Bellei
    Registrato dal
    Mar 2020
    residenza
    Modena
    Messaggi
    1
    Prova così
    codice:
    #include <iostream>
    using namespace std;
    
    
    int main()
    {
        int n;
        cout << "Inserisci numero pari maggiore di zero" << endl;
        cin >> n;
        if (n % 2 == 0)
        {
            while (n != 1)
            {
                n = n / 2;
                cout << n << endl;
            }
        }
        
        return 0;
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.