C++ :: Aufgabe #261
2 Lösungen

Die Collatz-Sequenz (3n+1)
Anfänger - C++
von DragStar
- 23.03.2020 um 09:34 Uhr
Schreibe ein Programm, welches die Eingabe einer Zahl anfordert und dann von dieser Zahl die Collatz-Sequenz ausgibt.
Lösungen:

//----------------------------------------------------------------------------- // collatz_sequence.cpp // // Programm to calculate the collatz sequence // by the Input of a natural unsigned number. // // Authors: Steuer Christian //----------------------------------------------------------------------------- // #include <iostream> using std::cin; using std::cout; //----------------------------------------------------------------------------- // Find out if the number is even or odd. // bool even_number(unsigned number) { if (number % 2 == 0) return true; else return false; } //----------------------------------------------------------------------------- // Calculate the collatz sequence. // void collatz(unsigned number) { while (number != 1) { if (even_number(number)) number /= 2; else number = (3 * number) + 1; cout << number << ", "; } } int main() { unsigned n_number = 0; cout << "Put in a natural number > 0: "; cin >> n_number; collatz(n_number); }

#include <iostream> #include <string> using namespace std; int main() { int num; do { cout << "Zahl > 0 eingeben: "; cin >> num; if(num <= 0) { cout << "Zahl ist 0 oder kleiner!\n\n"; } } while(num <= 0); cout << num << " "; while(num > 1) { if(num % 2 == 0) { num /= 2; } else { num = (num * 3) + 1; } cout << num << " "; } cout << "\n"; }