জাভা /। নেট / সি / জাভাস্ক্রিপ্ট / ইত্যাদিতে। আপনি যদি বিবৃতিগুলি সংক্ষিপ্ত করতে টার্নারি-আইফএস ব্যবহার করতে পারেন।
উদাহরণস্বরূপ (জাভাতে):
// there is a String `s` and an int `i`
if(i<0)s="Neg";else if(i>0)s="Pos";else s="Neut";
একটি ত্রৈমাসিক দিয়ে সংক্ষিপ্ত করা যায়-যদি হয়:
s=i<0?"Neg":i>0?"Pos":"Neut";
চ্যালেঞ্জ:
ইনপুট: একটি নিয়মিত if-অন্যথায় (নেস্টিং সহ সম্ভব) যা একটি একক ভেরিয়েবল সেট করে।
আউটপুট: রূপান্তরিত ত্রৈমাসিক- if।
চ্যালেঞ্জ বিধি:
- আপনি যদি ধরে নিতে পারেন তবে সমস্ত ক্ষেত্রে বন্ধনী ছাড়াই সম্ভব সম্ভব (সুতরাং প্রতিটি যদি / অন্যথায় যদি / অন্য কোনও ব্লকের একটি দেহ থাকে)।
- আপনি ধরে নিতে পারেন যে কোনও স্থান (ট্যাবস) বা নতুন-লাইন থাকবে না, প্রতিটিের পরে একক স্থান বাদে
else
(অন্তর্ভুক্তelse if
)। - আপনি ধরে নিতে পারেন যে পরিবর্তনশীল নামগুলি সর্বদা একটি একক ছোট হাতের অক্ষর (
[a-z]
) থাকে। - ভেরিয়েবলগুলিতে দেওয়া মানগুলি এর মধ্যে একটি হতে পারে:
- স্ট্রিংস, যা ডাবল উদ্ধৃতি দ্বারা বেষ্টিত করা হবে (অর্থাত (স্পেস / ট্যাব / নতুন-লাইন ছাড়া)
"Test"
,"SomeString"
,"Example_string"
, ইত্যাদি)। আপনি ধরে নিতে পারেন যে স্ট্রিংগুলিতে কখনই সাবস্ট্রিংগুলি থাকবে নাif
বাelse
এটিতে স্পেস, ট্যাব, নিউলাইনস, (পালানো) ডাবল-কোট বা অক্ষর থাকবে না=
। এটিতে অক্ষরগুলি থাকতে পারে তবে><(){}[];?:!&|
এটি মুদ্রণযোগ্য ASCII পরিসরে থাকবে (['!' (33), '~' (126)]
)। - পূর্ণসংখ্যার (অর্থাত
0
,123
,-55
, ইত্যাদি) - ডেসিমেল (অর্থাত
0.0
,0.123
,-55.55
, ইত্যাদি)
- স্ট্রিংস, যা ডাবল উদ্ধৃতি দ্বারা বেষ্টিত করা হবে (অর্থাত (স্পেস / ট্যাব / নতুন-লাইন ছাড়া)
- মানগুলি কখনও মিশ্রিত হবে না। সুতরাং নির্ধারিত সমস্ত ভেরিয়েবলগুলি পূর্ণসংখ্যা হয় এবং কিছুগুলি পূর্ণসংখ্যা হয় না এবং কিছু স্ট্রিং হয়।
- প্রথম বন্ধনী মধ্যে অবস্থার নিম্নলিখিত অক্ষরগুলি ধারণ করতে পারে
=<>!+-/*%&|[]
,a-z
,0-9
। আপনি ধরে নিতে পারেন যে কোনও অভ্যন্তরীণ প্রথম বন্ধনী থাকবে না এবং আপনি ধরে নিতে পারেন যে কোনওরকম (বিভ্রান্তিকর) ক্ষেত্র একের বেশি ব্যবহৃত হবে না (যেমনif(if<0)
)। - আপনি ধরে নিতে পারেন যে এর
i*=10
পরিবর্তে আর কোনও শর্ট-কাট থাকবে নাi=i*10
। - আপনার ঝুঁকির
else
কেসগুলি হ্যান্ডেল করতে হবে না , তাই সবগুলিif
একটি দিয়ে তৈরি করা যায়else
। অর্থাৎif(a)if(b)r=0;else r=1;
কোনও সম্ভাব্য ইনপুট-কেস নয়।if(a)if(b)r=0;else r=1;else r=2;
বাif(a&&b)r=0;else if(a&&!b)r=1;else r=-1;
হয়। - I / O নমনীয়। ইনপুট এবং আউটপুট স্ট্রিং, অক্ষরের তালিকা, এসটিডিআইএন থেকে পাঠানো, আউটপুট থেকে STDOUT এ ইত্যাদি হতে পারে আপনার কল।
- সমস্ত অঞ্চলগুলির একটি সঠিক সাহচর্য থাকবে, বেশিরভাগ ভাষায় স্ট্যান্ডার্ড হিসাবে ( তবে পিএইচপি উদাহরণ হিসাবে নয় )।
সাধারণ নিয়ম:
- এটি কোড-গল্ফ , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার পক্ষে যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন। - স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং রিটার্ন-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
- ডিফল্ট লুফোলগুলি নিষিদ্ধ।
- যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
- এছাড়াও, দয়া করে একটি ব্যাখ্যা যুক্ত করুন।
পরীক্ষার কেস:
Input: if(i<0)s="Neg";else if(i>0)s="Pos";else s="Neut";
Output: s=i<0?"Neg":i>0?"Pos":"Neut";
Input: if(i%2<1)r=10;else r=20;
Output: r=i%2<1?10:20;
Input: if(n<10)if(m<0)i=0;else i=10;else if(m<0)i=-1;else i=1;
Output: i=n<10?m<0?0:10:m<0?-1:1;
Input: if(i==1)i=0.0;else i=0.25;
Output: i=i==1?0.0:0.25;
Input: if(!a)if(b)r=0;else r=1;else r=2;
Output: r=!a?b?0:1:2;
Input: if(a)if(b)r=0;else r=1;else if(c)r=2;else r=3;
Output: r=a?b?0:1:c?2:3;
Input: if(a&&b)r=0;else if(a&&!b)r=1;else r=-1;
Output: r=a&&b?0:a&&!b?1:-1;
Input: if(i[0]>0)if(j>0)if(q>0)r="q";else r="j";else r="i";else r="other";
Output: r=i[0]>0?j>0?q>0?"q":"j":"i":"other";
Input: if(i>0)r="i";else if(j>0)r="j";else if(q>0)r="q";else r="other";
Output: r=i>0?"i":j>0?"j":q>0?"q":"other";
Input: if(a>0)if(a<2)x="one";else if(a<3)x="two";else if(a<4)x="three";else x="other";else x="other";
Output: x=a>0?a<2?"one":a<3?"two":a<4?"three":"other":"other";
Input: if(b[0]<=b[1])q=5;else if(b[0]==null)q=0;else q=-10;
Output: q=b[0]<=b[1]?5:b[0]==null?0:-10;
if ... then ... else
এ টেরিনারি অপারেটর। সুতরাং আপনি যদি লিখুনlet result = if 10 > 100 then 99 else -99
তাহলে মানresult
হবে-99
।