Twój przykład to 36 i 2,
36/2 r=0 cout 2
18/2 r=0 cout 2
9/2 r=1 czyli tutaj zamienia Ci d=3 i powtórka
9/3 r=0 cout 3 - tutaj powinno dzielić przez 3 prawda? A w Twoim kodzie zawsze dzieli się n=n/2
3/3 r=0 cout 3
n=n/2;
Zamieniasz na
n=n/d;
Twój przykład to 36 i 2,
36/2 r=0 cout 2
18/2 r=0 cout 2
9/2 r=1 czyli tutaj zamienia Ci d=3 i powtórka
9/3 r=0 cout 3 - tutaj powinno dzielić przez 3 prawda? A w Twoim kodzie zawsze dzieli się n=n/2
3/3 r=0 cout 3
n=n/2;
Zamieniasz na
n=n/d;