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

1 Lösung Lösung öffentlich
#284

Ein nicht-rekursiver Algorithmus!

Anfänger - C++ von Labi1995 - 19.04.2020 um 20:52 Uhr
Was leistet folgender rekursiver Algorithmus für natürliche Zahlen n mit n>0?

int DoSomething(int n)
{
if (n == 1)
return n - 1;
else
{
if ((n / 2) * 2 == n)
{
return 1 + DoSomething(n - 1);
}
else
{
return DoSomething(n - 1);
}
}
}


Geben Sie einen nicht-rekursiven Algorithmus an, der dasselbe leistet.
#1
vote_ok
von thunderbird (820 Punkte) - 28.04.2020 um 13:15 Uhr
Es wird die Anzahl aller gerader Zahlen von 1 bis n zurückgegeben.

Quellcode ausblenden C-Code
int DoSomething(int n)
{
	int zaehl = 0;
	while(n>0)
	{
		if (n % 2 == 0)
		{
			zaehl++;
			n--;
		}
		else
			n--;
			
	}
	return (zaehl);
}

Kommentare:

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

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