- 1
- 2
- 3
- 4
- 5
- 6
- 7
.....
int i;
.....
int b=i/2;
if(i==b*2)//проверка на четность
{
.....
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+20.7
.....
int i;
.....
int b=i/2;
if(i==b*2)//проверка на четность
{
.....
...
int i;
...
if (!(i & 1))
{
.......
у тебя он еще говнокодистей получился!
int i;
...
if (i == ((i>>1)<<1))
{
printf("Even");
}
else
{
printf("Not even");
}
if(i%2 == 0)
{
...
работает быстрее моего варианта?
Ну тогда держи варианты покруче ;)
bool IsEven(int number)
{
char str[100];
itoa(number, str, 10);
char last = str[strlen(str) - 1];
return ((last == '2') || (last == '4') || (last == '6') || (last == '8') || (last == '0'));
}
bool IsEven2(int number)
{
char str[100];
itoa(number, str, 10);
char last = str[strlen(str) - 1];
bool arr[10] = {true, false, true, false, true, false, true, false, true, false};
return arr[last - '0'];
}
bool IsEven3(int number)
{
return (number << (sizeof(number) << 3) > 0);
}
{
mov eax,i
test eax, eax
jnp NotEven
...
jmp End
NotEven:
...
End:
...
}