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
2605887

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.