GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: ZeRo - 2011. május 26. - 21:32:08

Cím: Páros vagy páratlan?
Írta: ZeRo - 2011. május 26. - 21:32:08
A múltkor szükségem volt egy érték paritásának megállapítására, ez a módszer jutott eszembe, gondoltam felteszem ide is, hátha valakinek még hasznára válik. :)


[pawn]
stock iseven( const number ) {
    return !( number % 2 ) ? true : false;
}
[/pawn]


Egy példa:
[pawn]
public OnFilterScriptInit(  ) {
    if( iseven( 2 ) ) print( \"Páros\" );
    else print( \"Páratlan\" );
    return 1;
}
[/pawn]
Az eredmény értelemszerûen a \'Páros\' kiírása lesz, hiszen a 2 egy páros szám.


Minden észrevételt köszönök ha van. ;)
Cím: Páros vagy páratlan?
Írta: kurta999 - 2011. május 26. - 21:50:25
Kis kód, de néha tényleg nagyon hasznos lehet.
Találtam rá amúgy egy egyszerûbb megoldást is, csak ennek a mûködését neméppen értem :D
[pawn]
#define isodd(%0)  ((%0)&1)
#define iseven(%0) (!isodd(%0))
[/pawn]
Amúgy észrevétel az, hogy !(number), megfordítod a % visszatérését, mivel ez akkor tér vissza egy-el, ha maradék van.
E: konstantok számnak is meglehet úgyanúgy adni, mint stringnek ? ( Úgy értem, ahogy itt használtad, hogy bemenetnél )
Cím: Páros vagy páratlan?
Írta: Zsolesszka - 2011. május 27. - 13:02:15
Az egyik témában írtam és azt hiszem hogy az IsPrime topicjában.
Binary kódként minden páratlan szám elsõ bitje 1.
 

for(new i; i < 15; i++)
{
if(i & 1) printf(\"páratlan: %d | %b\", i, i);
else printf(\"páros: %d | %b\", i, i);
}

 

[2011.05.27 13:00:05] páros: 0 | 0
[2011.05.27 13:00:05] páratlan: 1 | 1
[2011.05.27 13:00:05] páros: 2 | 10
[2011.05.27 13:00:05] páratlan: 3 | 11
[2011.05.27 13:00:05] páros: 4 | 100
[2011.05.27 13:00:05] páratlan: 5 | 101
[2011.05.27 13:00:05] páros: 6 | 110
[2011.05.27 13:00:05] páratlan: 7 | 111
[2011.05.27 13:00:05] páros: 8 | 1000
[2011.05.27 13:00:05] páratlan: 9 | 1001
[2011.05.27 13:00:05] páros: 10 | 1010
[2011.05.27 13:00:05] páratlan: 11 | 1011
[2011.05.27 13:00:05] páros: 12 | 1100
[2011.05.27 13:00:05] páratlan: 13 | 1101
[2011.05.27 13:00:05] páros: 14 | 1110
[/quote]
Cím: Páros vagy páratlan?
Írta: Y2K - 2011. május 27. - 14:17:46
Mivel, ha 1 a vége, nem osztható 10-zel (2-vel)... Logikus...