সি # - 178 169 টি অক্ষর
এটি ধরে নিয়েছে যে 999 এর মতো সংখ্যাগুলি 1000 এ উপচে পড়ার অনুমতি রয়েছে এবং - + ,. E কোনও সংখ্যার অংশ নয়।
class T{static void Main(){var a="".ToCharArray();for(int b=1,c,i=a.Length;i-->0;b=48>c|c>57?7:b>0?c>56?a[i]='0':++a[i]*0:b)c=a[i];System.Console.Write(a);}}
ভাল পাঠযোগ্য ফর্ম:
class T
{
static void Main()
{
var a="7teststring134this 123test string59 100".ToCharArray();
for (int b=3, c, i=a.Length; i-->0;
b=48>c|c>57
?7
:b>2
?c>56?a[i]='0':++a[i]*0
:b
) c=a[i];
System.Console.Write(a);
System.Console.ReadKey();
}
}
আমি এখানে নতুন, কোড গল্ফ এর আগে কখনও চেষ্টা করিনি, একবার চেষ্টা করে দেখলাম :)
আমি ভাবছি যদি কারও কাছে এটিকে আরও খাটো করার ধারণা থাকে ...
সি # তে অংশ নেওয়া ভাল লাগবে যদি আমরা আসল কোডের চারপাশে সমস্ত প্রয়োজনীয় কাঠামো বাদ দিতে পারি - তবে এটির জন্য কেবলমাত্র 82 টি অক্ষর থাকবে এবং এটি কোনও শক্তিশালী সিস্টেম ফাংশন কল না করেই।
পয়েন্টার (182 অক্ষর) এর সাথে একই:
class T
{
unsafe static void Main()
{
char[] a="7teststring134this 123test string59 100".ToCharArray();
int b=3;
fixed (char* s=&a[0])
for (var p=s+a.Length; p-->s; )
b=*p<48|*p>57
?7
:b>2
?*p>56?*p='0':++*p*0
:b;
System.Console.Write(a);
System.Console.ReadKey();
}
}
উপচে পড়া ছাড়াই এখন, এটি সঠিকভাবে 999 কেস (223 অক্ষর) পরিচালনা করে:
class T
{
static void Main()
{
var s=new System.Text.StringBuilder("9999teststring134this 123test string99 100");
for (int b=3, c, i=s.Length; i-->0; )
{
c=s[i];
b=48>c|c>57
?b>8?8:7
:b>2
?c>56?c-(s[i]='0'):++s[i]*0
:b;
if (b>8&i<1|b==8) s.Insert(i+9-b, '1');
}
System.Console.Write(s);
System.Console.ReadKey();
}
}
আরেকটি ভিন্ন প্রবীণ, এটি স্ট্যান্ডার্ড ইনপুট থেকে পড়ে এবং পুনরাবৃত্তি ব্যবহার করে:
namespace System {
using C=Console;
class T {
class t {
byte b=1;
string s="";
void R() {
var c=C.Read();
if (c>31) {
R();
if (48>c|c>57) b=1;
else if (b==1) c=c==57?48:++c*b--;
s=(char)c+s;
}
}
public t() {
R();
C.Write(s);
}
}
static void Main() {
new t();
C.ReadKey();
}
}
}
দ্রষ্টব্য: Console.ReadKey();
এবং স্ট্রিংটি নিজেই গণনা করা উচিত নয়।
আমি ইতিমধ্যে একাধিক বার উন্নতি করেছি, মন্তব্য দেখুন। আরও উন্নতির জন্য এখনও অবকাশ আছে, আমি বলব :) এবং দৈর্ঘ্যের জন্য দুঃখিত, তবে আমি মনে করি বিভিন্ন সংস্করণগুলি সেগুলি রাখার জন্য যথেষ্ট আকর্ষণীয় ...