Thursday, October 07, 2004

CODE எழுதியவர்

MK Codingஇல் பெரிய ஆளா இருப்பார் போல. முதலில் பிட் ஆப்பரேட்டர்கள் எல்லாம் உபயோகித்து இரு சவால்களுக்கும் பதில் தந்திருந்தார். அவை நெகட்டிவ் எண்களுக்கும் கூட வேலை செய்தன. ஆனால் அவை C/C++ போன்ற பிட் ஆப்பரேட்டர்கள் உள்ள மொழியில் மட்டும்தான் வேலை செய்யும் என்று நான் சொன்னவுடன்(ஒத்துக்க மாட்டியே!!), இந்தா வச்சுக்கோ! என்று வேறு விடைகள் தந்தார். அதில் இரண்டாவது சவாலுக்கான விடை மட்டும் எனது விடையோடு(உனக்கு மட்டும்தான் தெரியுமாக்கும்!) ஒத்துப்போனது. அதற்காக முதல் விடை தவறில்லை. அதுவும் சரிதான். இப்பொழுது MKயின் விடைகள்.

சவால் 1
c = (a - b) / abs(a - b)
c = ((a + ca) + (b - cb)) / 2

சவால் 2
c = a - 1
c = c + (a mod 2) * 2

MKயின் பிட் ஆப்பரேட்டர்கள் விடை
சவால் 1
c = (sizeof(int) * 8) - 1
c = (((a - b) & (2^c)) >> c) * b + (((b - a) & (2^c)) >> c) * a

சவால் 2
c = a - 1
c = c + ((a & 1) * 2)

முதல் சவாலுக்கான எனது விடை
c = (a * (a div b) + b * (b div a)) / ((a div b) + (b div a))

No comments:

Post a Comment