Comme bien sur le compilateur n'optimise pas, la seule difference que genere cette difference de code:
bool isMul3 = ( x == ((x / 3) * 3) );
bool isMul5 = ( x == ((x / 5) * 5) );vs
bool isMul3 = ( (x % 3) == 0 );
bool isMul5 = ( (x % 5) == 0 );C'est l'ordre des registres sur deux cmp

804838c: 39 d8 cmp %ebx,%eax
804838e: 0f 94 c0 sete %al
8048391: 89 c7 mov %eax,%edi
8048393: b8 56 55 55 55 mov $0x55555556,%eax
8048398: f7 eb imul %ebx
804839a: 29 ca sub %ecx,%edx
804839c: 8d 04 52 lea (%edx,%edx,2),%eax
804839f: 39 d8 cmp %ebx,%eaxVS
804838c: 39 c3 cmp %eax,%ebx
804838e: 0f 94 c0 sete %al
8048391: 89 c7 mov %eax,%edi
8048393: b8 56 55 55 55 mov $0x55555556,%eax
8048398: f7 eb imul %ebx
804839a: 29 ca sub %ecx,%edx
804839c: 8d 04 52 lea (%edx,%edx,2),%eax
804839f: 39 c3 cmp %eax,%ebx