C# :: Aufgabe #11 :: Lösung #9

25 Lösungen Lösungen öffentlich
#11

Multiplikation ohne zu multiplizieren

Anfänger - C# von Gustl - 11.11.2012 um 17:24 Uhr
Erstellen Sie ein Konsolenprogramm welches dem Benutzer auffordert 2 Zahlen einzugeben, diese sollen dann multipliziert werden, jedoch ist nur die Grundrechenart Addition erlaubt.

Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.
#9
vote_ok
von eulerscheZhl (5230 Punkte) - 26.03.2015 um 06:07 Uhr
Hier noch eine Möglichkeit, die auch bei großen Zahlen in absehbarer Zeit ein Ergebnis findet:
Quellcode ausblenden C#-Code
using System;

namespace trainYourProgrammer
{
	class MainClass
	{
		static void Main(string[] args) {
			Console.Write ("1. Faktor: ");
			int factor1 = int.Parse (Console.ReadLine ());
			Console.Write ("2. Faktor: ");
			int factor2 = int.Parse (Console.ReadLine ());
			Console.WriteLine ("Das Produkt ist " + Multiply (factor1, factor2));
		}

		public static int Multiply(int a, int b) {
			int result = 0;
			for (int i = sizeof(int)<<3 - 1; i >= 0; i--) { //Zahl a bitweise durchgehen
				int bit = (a >> i) & 1; //Bit von a an Stelle i
				if (bit == 1) {
					result += b << i;
				}
			}
			return result;
		}
	}
}

Kommentare:

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

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