C++ :: Aufgabe #261 :: Lösung #1

2 Lösungen Lösungen öffentlich
#261

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.

#1
vote_ok
von Steuerkrise (60 Punkte) - 09.04.2020 um 14:20 Uhr
Quellcode ausblenden C-Code
//-----------------------------------------------------------------------------
// 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);
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben