Ich soll die Einser einer Zahl n in der Binärdarstellung addieren, darf aber keine Multiplikation oder Division anwenden. mein Bsp, welches leider dividiert:
C++:
#include<iostream.h>
int count(int n) {
int rest,z;
do { rest=n % 2; n=n/2;
if (rest!=0) z=z+1; } while(n!=0);
cout << z; }
int main() {
int x; cin >> x; count(x); return0; }
Bearbeitung von loddab:
cpp-Tags gesetzt
Dieser Post wurde am 25.11.2003 um 21:38 Uhr von Pablo Yanez Trujillo editiert.
Herzlichen Dank fuer diese Loesungen, nur weiss ich leider nicht was n >>=1 bedeutet. Ist doch sicher eine Kurzschreibweise so wie ++h oder n+=z, oder?
Was soviel bedeutet wie: "erschiebe alle Bits in n um eine Stelle nach rechts", was einer division durch 2 gleichkommt. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)