Informatică, întrebare adresată de code123, 8 ani în urmă

URGENT!! C++
Fie un număr natural N citit de la tastatură. Acestuia i se aplică în mod repetat următoarele transformări:
- Dacă N este par, devine N/2
- Dacă N este impar, devine 3*N+1
Pentru orice număr natural, în urma transformărilor numărul devine 1.
Pentru un N citit de la tastatură, determinați șirul și numărul de termeni din șirul de transformări după regula de mai sus.
Date de intrare:
Numărul N, număr întreg cu semn reprezentat pe 32 biți.
Date de ieșire:
Pe prima linie șirul obținut în urma aplicării transformărilor. Pe a doua linie numărul de termeni.
Exemplu:
Date de intrare: 6
Date de ieșire: 6 3 10 5 16 8 4 2
8

Anexe:

Răspunsuri la întrebare

Răspuns de VxF
1

Răspuns:

#include <iostream>

int main()

{

   unsigned long int numar;

   int pasi = 0;

   std::cout << "Număr: ";

   std::cin >> numar;

   while (numar != 1) {

       std::cout << numar << " ";

       numar = numar % 2 ? 3 * numar + 1 : numar / 2;

       pasi++;

   }

   

   std::cout << std::endl << pasi << std::endl;

}


code123: bro ce trebui schimbat ca la output sa arata asta
code123: 6 3 10 5 16 8 4 2
8
VxF: Oops. Mi-a scăpat afişarea numărului iniţial. E suficient să muţi afișarea la început de while. Așa cum am modificat răspunsul.
code123: imi ajuti is o alta problem lam pus la intrebari aici pe brainly
Alte întrebări interesante