Sunday, October 03, 2004

CODE எழுதுங்க

இன்னைக்கு புதிர் இல்லை. ஒரு சவால்; இல்லை! அறிவுபூ....; வேண்டாம்! சரியா வரலை. 'சவால்'னே வைச்சுக்குவும். இந்த சவால் சாப்ட்வேர் ப்ரோக்ரமர்களுக்கானது(அதுக்காக மத்தவங்க கலந்துக்காதீங்கன்னு சொல்லலை). பல ப்ரொக்ரமர்களுக்கு இந்தக் கேள்வி தெரிந்திருக்கும். Interviewக்களில் கூட பார்த்திருப்பார்கள்.

அதாவது a,b ன்னு இரண்டு variables. இந்த இரண்டே இரண்டு variablesஐ மட்டும் வைத்துக்கொண்டு(வேறு variable எதுவும் பயன்படுத்தக்கூடாது), இவைகளின் மதிப்புகளை(Values) பண்டமாற்றிக்(swap) கொள்ள வேண்டும்(சே! தமிழில் எவ்வளவு வீக்காய் இருக்கிறேன்!!). இதற்கு பதிலும் பலருக்குத் தெரிந்திருக்கும். கீழேயுள்ள CODEதான் பதில்.

a = a + b
b = a - b
a = a - b


பொறுங்க! பொறுங்க!! இது சவால் இல்லை. அது இனிமேதான் வருது(இன்னைக்கு ரொம்ப இழுக்கிறேனில்ல).


சவால் - 1

a,b ன்னு இரண்டு variables. இந்த இரண்டில் நீங்க பெரிய நம்பர் எதுன்னு கண்டுபிடிக்கனும். ஆனா ரெண்டு கண்டிசன். 'கண்டிசன்' மற்றும் 'கண்ட்ரோல் ஸ்டரக்சர்'(அதாங்க! if.,for.,while., etc.,.) எதுவும் உபயோகிக்கக்கூடாது. ஆனா +,- மாதிரி கணித குறீயீடுகள், மற்றும் log, sqrt மாதிரி கணித functions ஆகியவைகளை பயன்படுத்தலாம். முடிவில் எனக்கு c என்கிற variableஇல் பெரிய நம்பர் இருக்கனும்.


சவால் - 2

aன்னு ஒரே ஒரு variable. இப்ப அதில் ஒற்றைப்படை(ODD) எண்ணிருந்தால், அதற்கு அடுத்த இரட்டைப்படை(EVEN) எண் வேண்டும். அப்படியில்லாமல் இரட்டைப்படை(Odd) எண்ணிருந்தால், அதற்கு முந்தைய ஒற்றைப்படை(Even) எண் வேண்டும். ஆதாவது 1 இருந்தா 2 வரணும்; 2 இருந்தா 1 வரணும். 15 இருந்தா 16 வரணும்; 16 இருந்தா 15 வரணும்.
கண்டிசன்ஸ் வழக்கம்போல்தான்(சவால் 1இல் உள்ளவை).

பின்குறிப்பு(விட மாட்டியா?):

மேலுள்ள இரண்டு சவால்களும் பாஸிட்டிவ் எண்களுக்கு மட்டுமே பொருந்தும்.

3 comments:

Show/Hide Comments

Post a Comment