সংক্ষিপ্ত ডেডফিশ নম্বর


28

ডেডফিশ একটি অখ্যাত টিউরিং -সম্পূর্ণ প্রোগ্রামিং ভাষাগুলির মধ্যে অন্যতম। ডেটা সংরক্ষণের জন্য এটির কেবলমাত্র একটি সংগ্রহকারী রয়েছে (যা 0 থেকে শুরু হয়) এবং কেবলমাত্র চারটি কমান্ড:

i - Increment the accumulator
s - Square the accumulator
d - Decrement the accumulator
o - Output the accumulator

ডেডফিশ প্রোগ্রামটি দেখতে পারে:

iiisdo

এবং এটি মুদ্রণ করবে:

8

চ্যালেঞ্জ

এমন একটি প্রোগ্রাম তৈরি করুন যা কোনও সংখ্যা এবং ইনপুট আউট করে ডেডফিশ কোডটি প্রদর্শন করে। (বা এমন একটি ফাংশন তৈরি করে যা নম্বরটি প্যারামিটার হিসাবে নেয় এবং কোডটি ফেরত দেয়)) এটি অবশ্যই কোনও পূর্ণসংখ্যার জন্য কাজ 0করতে হবে255

লক্ষ্য

আপনার কোডটি প্রদত্ত নম্বরটি তৈরি করতে সংক্ষিপ্ততম কোডটি তৈরি করার চেষ্টা করুন। উদাহরণ স্বরূপ:

iiiiiiiiio

এবং

iiiso

প্রতিটি মুদ্রণ 9, কিন্তু দ্বিতীয়টি সংক্ষিপ্ত।

স্কোরিং

তোমার সংগ্রহ:

The number of characters in your source code +
The sum of the lengths of your output for all numbers from 1-255
-100 if the language you chose is Deadfish :)

সর্বনিম্ন স্কোর জয়!


মূল চ্যালেঞ্জটিতে আমার কাছে কেবলমাত্র 6 টি সংখ্যা (9,17,99,100 এবং 123) ছিল। এটি প্রত্যেকটি সংখ্যার জন্য প্রত্যেককে পরীক্ষা না করার জন্য আমার কাছ থেকে এসেছিল এবং আমি চেয়েছিলাম সংক্ষিপ্ততম কোডটি প্রাসঙ্গিক হোক। তারপরে আমি বুঝতে পেরেছিলাম যে প্রোগ্রামাররা সেই জাতীয় জিনিসগুলির পরীক্ষা করার জন্য স্ক্রিপ্ট তৈরিতে ভাল, এবং আমি বরং এটি টাইব্রেকার হিসাবে গল্ফিংয়ের সাথে সেরা অ্যালগরিদমের প্রতিযোগিতা হতে চাই।

তার জন্য আমি এটি পরিবর্তন করেছি, যেমন মার্টিন বাটনার পরামর্শ দিয়েছেন।


1
যদি কোনও ইনপুট না নেয় তবে ডেডফিশে এটি কীভাবে সম্ভব?
ক্যালভিনের শখ

2
@ ক্যালভিনের শখগুলি আমি মনে করি না যে কেউ কারও যে -100
পেয়েছেন


1
ডেডফিশ 255 এর চেয়ে বড় ইন্টিজারগুলি পরিচালনা করে? যেমন আমরা 256 গণনা করতে পারি এবং একটিকে বিয়োগ করতে পারি? কীভাবে ওভারফ্লো পরিচালনা করা হয়? কি 16^2 = 0বা 16^2 = 256বা 16^2 = error?
soktinpk

1
@soktinpk আপনি -1ওআর আঘাত করলে 256এটি পুনরায় সেট হয়ে যায় 0। আপনি যদি 256স্কোয়ারিংয়ের চেয়ে বড় কোনও সংখ্যাটি আঘাত করেন তবে এটি অপরিবর্তিত, যেমন 17^2 = 289। (এসোলাং পৃষ্ঠাটি দেখুন)
Sp3000

উত্তর:


3

পার্ল, 132 131 বাইট + 2036 বাইট = 2167

জন্য +2 অন্তর্ভুক্ত -lp

STDIN এ লক্ষ্য নম্বর সহ চালান, যেমন

perl -lp deadfish.pl <<< 160

deadfish.pl:

@;=map{s%(o)|(s)|(i|d)|%$_-=e cmp$3.e;$_*=$_-16&&$_ if$2;$1&&$_%eg;@$_=$`;grep/id|di/^y/o//<4,<{o,s,d,i}$`>}~~o,@;until$\="@$_"}{

কিছুটা তাত্পর্যপূর্ণ বিস্ফোরণকে কিছুটা সীমাবদ্ধ করার জন্য গ্রেপ একটি ফিল্টার ( এটি ছাড়াও কাজ করে তবে সহজ কেস বাদে আমি এটিকে আমার হার্ডওয়ারে চালাতে পারি না। তবে নীতিগতভাবে এই 110=108+2বাইট প্রোগ্রামটিও কার্যকর:

@;=map{s%(o)|(s)|(i|d)|%$_-=e cmp$3.e;$_*=$_-16&&$_ if$2;$1&&$_%eg;@$_=$`;<{o,s,d,i}$`>}$a,@;until$\="@$_"}{

আউটপুট তালিকা:

1   io
2   iio
3   iiio
4   iiso
5   iisio
6   iisiio
7   iisiiio
8   iiisdo
9   iiiso
10  iodo
11  ioo
12  ioio
13  ioiio
14  ioiso
15  ioisio
16  iisso
17  iissio
18  iissiio
19  ioiiso
20  iioddo
21  iiodo
22  iioo
23  iioio
24  iioso
25  iiosio
26  iiosiio
27  iiosiiio
28  iioisdo
29  iioiso
30  iiiodddo
31  iiioddo
32  iiiodo
33  iiioo
34  iiioio
35  iiioiio
36  iisiiso
37  iisiisio
38  iiiosdo
39  iiioso
40  iisosso
41  iisossio
42  iisoddo
43  iisodo
44  iisoo
45  iisoio
46  iisoiio
47  iisoiiio
48  iisodsdo
49  iisodso
50  iisiiisio
51  iisiiisiio
52  iisiodddo
53  iisioddo
54  iisiodo
55  iisioo
56  iisioio
57  iisioiio
58  iisioiiio
59  iisioddso
60  iiisdsddddo
61  iiisdsdddo
62  iiisdsddo
63  iiisdsdo
64  iiisdso
65  iiisdsio
66  iisiioo
67  iisiioio
68  iisiioiio
69  iisiioiiio
70  iiisdsiiiiiio
71  iiisdsiiiiiiio
72  iisiiiodddddo
73  iisiiioddddo
74  iisiiiodddo
75  iisiiioddo
76  iisiiiodo
77  iisiiioo
78  iisiiioio
79  iiissddo
80  iiissdo
81  iiisso
82  iiissio
83  iiissiio
84  iiissiiio
85  iiissiiiio
86  iiisdoddo
87  iiisdodo
88  iiisdoo
89  iiisdoio
90  iiisodddddsso
91  iiisodddddssio
92  iiisodddddddo
93  iiisoddddddo
94  iiisodddddo
95  iiisoddddo
96  iiisodddo
97  iiisoddo
98  iiisodo
99  iiisoo
100 iodoo
101 iodoio
102 iodoiio
103 iodoiiio
104 iodoiiso
105 iodoiisio
106 iodoiisiio
107 iiisiodddo
108 iiisioddo
109 iiisiodo
110 ioodo
111 iooo
112 iooio
113 iooiio
114 iooiso
115 iooisio
116 ioisso
117 ioissio
118 ioissiio
119 iooiiso
120 ioioddo
121 ioiodo
122 ioioo
123 ioioio
124 ioioso
125 ioiosio
126 ioiosiio
127 ioiosiiio
128 ioioisdo
129 ioioiso
130 ioiiodddo
131 ioiioddo
132 ioiiodo
133 ioiioo
134 ioiioio
135 ioiioiio
136 ioisiiso
137 ioisiisio
138 ioiiosdo
139 ioiioso
140 ioisosso
141 ioisossio
142 ioisoddo
143 ioisodo
144 ioisoo
145 ioisoio
146 ioisoiio
147 ioisoiiio
148 ioisodsdo
149 ioisodso
150 iissdoiso
151 iissdoisio
152 ioisiodddo
153 ioisioddo
154 ioisiodo
155 ioisioo
156 ioisioio
157 ioisioiio
158 ioisioiiio
159 ioisioddso
160 iissoso
161 iissosio
162 iissosiio
163 ioiisdsdo
164 ioiisdso
165 ioiisdsio
166 ioisiioo
167 ioisiioio
168 ioisiioiio
169 iissdddso
170 iissiodso
171 iissiodsio
172 iissiodsiio
173 iissiodsiiio
174 ioisiiiodddo
175 ioisiiioddo
176 ioisiiiodo
177 ioisiiioo
178 ioisiiioio
179 ioiissddo
180 ioiissdo
181 ioiisso
182 ioiissio
183 ioiissiio
184 ioiissiiio
185 ioiissiiiio
186 ioiisdoddo
187 ioiisdodo
188 ioiisdoo
189 ioiisdoio
190 iissiiiodddso
191 iissddsdddddo
192 iissddsddddo
193 iissddsdddo
194 iissddsddo
195 iissddsdo
196 iissddso
197 iissddsio
198 ioiisodo
199 ioiisoo
200 iioddoo
201 iioddoio
202 iioddoiio
203 iioddoiiio
204 iioddoiiso
205 iioddoiisio
206 iioddoiisiio
207 iioddoiisiiio
208 iioddoiiisdo
209 iioddoiiiso
210 iioisio
211 iiodoo
212 iiodoio
213 iiodoiio
214 iiossddo
215 iiossdo
216 iiosso
217 iiossio
218 iiossiio
219 iiossiiio
220 iiooddo
221 iioodo
222 iiooo
223 iiooio
224 iiooso
225 iioosio
226 iioosiio
227 iioosiiio
228 iiooisdo
229 iiooiso
230 iioiodddo
231 iioioddo
232 iioiodo
233 iioioo
234 iioioio
235 iioioiio
236 iiosiiso
237 iiosiisio
238 iioiosdo
239 iioioso
240 iiososso
241 iiosossio
242 iiosoddo
243 iiosodo
244 iiosoo
245 iiosoio
246 iiosoiio
247 iiosoiiio
248 iiosodsdo
249 iiosodso
250 iiosiiisio
251 iiosiiisiio
252 iiosiodddo
253 iiosioddo
254 iiosiodo
255 iiosioo

9

ES6 জাভাস্ক্রিপ্ট 2126 + 311 = 2437 স্কোর

m=Math;s=n=>[b=m.min(m.sqrt(n)+.5|0,15),n-b*b];f=n=>(n<0?'d':'i').repeat(m.abs(n));g=(n,t)=>n<4?f(n):g((t=s(n))[0])+'s'+f(t[1]);q=n=>((x=g(n)).length>(z=[...n+''].map((k,i,a)=>i?(a[i-1]==a[i]?'':(y=f((l=s(k))[0]-a[i-1])+(l[0]?'s':'')+f(l[1])).length>m.abs(Q=a[i]-a[i-1])?f(Q):y):g(k)).join('o')).length?z:x)+'o'

সেমি-মন্তব্য করেছেন:

m = Math; // Keep a reference to math
// This function returns the closest perfect square and the distance from that square to the number
// E.g. s(10) --> [3, 1] because 3^2 + 1 = 10
s = n => [b = m.min(m.sqrt(n) + .5 | 0, 15), n - b * b];
// This creates a bunch of "d"s or "i"s
// E.g. f(3) --> "iii" or f(-2) --> "dd"
f = n => Array(m.abs(n) + 1).join(n < 0 ? 'd' : 'i');
// This constructs the number as a number rather than by digit
g = (n, t) => n < 4 ? 
              // If n is less than 4, then we can just increment in normally (base case)
              f(n) : 
              // Otherwise, build the square root recursively and shift
              g((t = s(n))[0]) + 's' + f(t[1]);
// This maps based on digits (constructs the number by digit)
// This has now been removed and replaced inline because it is only used once
d = n => (a = [...(n + '')]).map((k, i) => i ? (a[i - 1] == a[i] ? '' : f((l = s(k))[0] - a[i - 1]) + (l[0] ? 's' : '') + f(l[1])) : g(k)).join('o');
// For the official function, compare the digit-method and nondigit-method and return the best one
q = n => ((x = g(n)).length > (z = d(n)).length ? z : x) + 'o'

এটি ডেডফিশে, আপনি একাধিক অক্ষর মুদ্রণ করতে পারবেন এই সুবিধাটি গ্রহণ করে।

উদাহরণ: 10সংকলন iodoযা "এক মুদ্রণ হ্রাস, মুদ্রণ শূন্য।"

ব্যবহার:

q(10) // --> iodo
q(16) // --> iisso

আউটপুটটির জেসন ডেটা এখানে:

{
    "0": "o",
    "1": "io",
    "2": "iio",
    "3": "iiio",
    "4": "iiso",
    "5": "iisio",
    "6": "iisiio",
    "7": "iiisddo",
    "8": "iiisdo",
    "9": "iiiso",
    "10": "iodo",
    "11": "ioo",
    "12": "ioio",
    "13": "ioiio",
    "14": "ioiso",
    "15": "iissdo",
    "16": "iisso",
    "17": "iissio",
    "18": "iissiio",
    "19": "ioiiso",
    "20": "iioddo",
    "21": "iiodo",
    "22": "iioo",
    "23": "iioio",
    "24": "iioso",
    "25": "iisiso",
    "26": "iisisio",
    "27": "iisisiio",
    "28": "iioisdo",
    "29": "iioiso",
    "30": "iiiodddo",
    "31": "iiioddo",
    "32": "iiiodo",
    "33": "iiioo",
    "34": "iiioio",
    "35": "iiioiio",
    "36": "iisiiso",
    "37": "iisiisio",
    "38": "iiiosdo",
    "39": "iiioso",
    "40": "iisoddddo",
    "41": "iisodddo",
    "42": "iisoddo",
    "43": "iisodo",
    "44": "iisoo",
    "45": "iisoio",
    "46": "iisoiio",
    "47": "iisoiiio",
    "48": "iisodsdo",
    "49": "iisodso",
    "50": "iiisddsio",
    "51": "iiisddsiio",
    "52": "iisiodddo",
    "53": "iisioddo",
    "54": "iisiodo",
    "55": "iisioo",
    "56": "iisioio",
    "57": "iisioiio",
    "58": "iisioiiio",
    "59": "iisioddso",
    "60": "iiisdsddddo",
    "61": "iiisdsdddo",
    "62": "iiisdsddo",
    "63": "iiisdsdo",
    "64": "iiisdso",
    "65": "iiisdsio",
    "66": "iisiioo",
    "67": "iisiioio",
    "68": "iisiioiio",
    "69": "iisiioiiio",
    "70": "iiisdsiiiiiio",
    "71": "iiisdsiiiiiiio",
    "72": "iiisddodddddo",
    "73": "iiisddoddddo",
    "74": "iiisddodddo",
    "75": "iiisddoddo",
    "76": "iiisddodo",
    "77": "iiisddoo",
    "78": "iiissdddo",
    "79": "iiissddo",
    "80": "iiissdo",
    "81": "iiisso",
    "82": "iiissio",
    "83": "iiissiio",
    "84": "iiissiiio",
    "85": "iiissiiiio",
    "86": "iiisdoddo",
    "87": "iiisdodo",
    "88": "iiisdoo",
    "89": "iiisdoio",
    "90": "iiissiiiiiiiiio",
    "91": "iiisoddddddddo",
    "92": "iiisodddddddo",
    "93": "iiisoddddddo",
    "94": "iiisodddddo",
    "95": "iiisoddddo",
    "96": "iiisodddo",
    "97": "iiisoddo",
    "98": "iiisodo",
    "99": "iiisoo",
    "100": "iodoo",
    "101": "iodoio",
    "102": "iodoiio",
    "103": "iodoiiio",
    "104": "iodoiiso",
    "105": "iodoiisio",
    "106": "iodoiisiio",
    "107": "iodoiiisddo",
    "108": "iodoiiisdo",
    "109": "iodoiiiso",
    "110": "ioodo",
    "111": "iooo",
    "112": "iooio",
    "113": "iooiio",
    "114": "iooiso",
    "115": "iooisio",
    "116": "iooisiio",
    "117": "iooiisddo",
    "118": "iooiisdo",
    "119": "iooiiso",
    "120": "ioioddo",
    "121": "ioiodo",
    "122": "ioioo",
    "123": "ioioio",
    "124": "ioioso",
    "125": "ioiosio",
    "126": "ioiosiio",
    "127": "ioioisddo",
    "128": "ioioisdo",
    "129": "ioioiso",
    "130": "ioiiodddo",
    "131": "ioiioddo",
    "132": "ioiiodo",
    "133": "ioiioo",
    "134": "ioiioio",
    "135": "ioiioiio",
    "136": "ioiioiiio",
    "137": "ioiiosddo",
    "138": "ioiiosdo",
    "139": "ioiioso",
    "140": "ioisoddddo",
    "141": "ioisodddo",
    "142": "ioisoddo",
    "143": "ioisodo",
    "144": "ioisoo",
    "145": "ioisoio",
    "146": "ioisoiio",
    "147": "ioisoiiio",
    "148": "ioisodsdo",
    "149": "ioisodso",
    "150": "ioisiodddddo",
    "151": "ioisioddddo",
    "152": "ioisiodddo",
    "153": "ioisioddo",
    "154": "ioisiodo",
    "155": "ioisioo",
    "156": "ioisioio",
    "157": "ioisioiio",
    "158": "ioisioiiio",
    "159": "ioisioddso",
    "160": "ioisiioddddddo",
    "161": "ioisiiodddddo",
    "162": "ioisiioddddo",
    "163": "ioisiiodddo",
    "164": "ioisiioddo",
    "165": "ioisiiodo",
    "166": "ioisiioo",
    "167": "ioisiioio",
    "168": "iissdddsdo",
    "169": "iissdddso",
    "170": "iissdddsio",
    "171": "iissdddsiio",
    "172": "iissdddsiiio",
    "173": "iissdddsiiiio",
    "174": "ioiisddodddo",
    "175": "ioiisddoddo",
    "176": "ioiisddodo",
    "177": "ioiisddoo",
    "178": "ioiisddoio",
    "179": "ioiisddoiio",
    "180": "ioiisdoddddddddo",
    "181": "ioiisdodddddddo",
    "182": "ioiisdoddddddo",
    "183": "ioiisdodddddo",
    "184": "ioiisdoddddo",
    "185": "ioiisdodddo",
    "186": "ioiisdoddo",
    "187": "ioiisdodo",
    "188": "ioiisdoo",
    "189": "ioiisdoio",
    "190": "iissddsddddddo",
    "191": "iissddsdddddo",
    "192": "iissddsddddo",
    "193": "iissddsdddo",
    "194": "iissddsddo",
    "195": "iissddsdo",
    "196": "iissddso",
    "197": "iissddsio",
    "198": "ioiisodo",
    "199": "ioiisoo",
    "200": "iioddoo",
    "201": "iioddoio",
    "202": "iioddoiio",
    "203": "iioddoiiio",
    "204": "iioddoiiso",
    "205": "iioddoiisio",
    "206": "iioddoiisiio",
    "207": "iioddoiiisddo",
    "208": "iioddoiiisdo",
    "209": "iioddoiiiso",
    "210": "iiododo",
    "211": "iiodoo",
    "212": "iiodoio",
    "213": "iiodoiio",
    "214": "iiodoiso",
    "215": "iiodoisio",
    "216": "iiodoisiio",
    "217": "iiodoiisddo",
    "218": "iiodoiisdo",
    "219": "iiodoiiso",
    "220": "iiooddo",
    "221": "iioodo",
    "222": "iiooo",
    "223": "iiooio",
    "224": "iiooso",
    "225": "iissdso",
    "226": "iissdsio",
    "227": "iissdsiio",
    "228": "iiooisdo",
    "229": "iiooiso",
    "230": "iioiodddo",
    "231": "iioioddo",
    "232": "iioiodo",
    "233": "iioioo",
    "234": "iioioio",
    "235": "iioioiio",
    "236": "iioioiiio",
    "237": "iioiosddo",
    "238": "iioiosdo",
    "239": "iioioso",
    "240": "iiosoddddo",
    "241": "iiosodddo",
    "242": "iiosoddo",
    "243": "iiosodo",
    "244": "iiosoo",
    "245": "iiosoio",
    "246": "iiosoiio",
    "247": "iiosoiiio",
    "248": "iiosodsdo",
    "249": "iiosodso",
    "250": "iiosiodddddo",
    "251": "iiosioddddo",
    "252": "iiosiodddo",
    "253": "iiosioddo",
    "254": "iiosiodo",
    "255": "iiosioo"
}

এটি এই কোড দ্বারা উত্পন্ন হয়েছিল:

var c = {}, result = 0;
for (var i = 0; i <= 255; ++i) result += (c[i] = q(i)).length;

যা প্রিন্ট করে result = (the result)এবং c =উপরের জিনিসটি।

এটি বেশ সহজ হওয়া সত্ত্বেও একটি উল্লেখযোগ্য উচ্চ স্কোর পায়। এটি নিকটতম নিখুঁত বর্গক্ষেত্র অনুসন্ধান করে, সেই নিখুঁত বর্গক্ষেত্রের বর্গমূল গণনা করে, 'গুলি' যুক্ত করে এবং যথাযথভাবে বৃদ্ধি / হ্রাস।

পুরানো সংস্করণ যা "10" = "একটি মুদ্রণ করুন, শূন্য প্রিন্ট করুন" এই সত্যটি ব্যবহার করেন নি

m=Math;s=n=>[b=m.sqrt(n)+.5|0,n-b*b];f=(n)=>Array(m.abs(n)+1).join('id'[+(n<0)]);g=(n,t)=>n<4?f(n):g((t=s(n))[0])+'s'+f(t[1]);q=n=>g(n)+'o'

আপনি dঅপারেশনের প্রভাবটি ভুল হিসাবে পেয়েছেন বলে মনে হয় - যদি এটি হ্রাস -1পায় তবে তা পুনরায় সেট হয়ে যায় 0, না 255
ডুরকনব

8
আমি মনে করি আপনি ভুল বুঝেছেন কি oকরে; এটি সঞ্চয়ের এবং একটি নতুন লাইন আউটপুট করে। iodoফলাফল 1\n0\n, না 10
গাবে

3
অনেক সংখ্যার জন্য অবৈধ (256 এবং -1 -> 0 এর কারণে)। 255 আইসডো উদাহরণ: i: 1, i: 2, s: 4, s: 16, s: 256-> 0, d: -1-> 0, আউটপুট 0
edc65

1
ডেডফিশের জন্য উইকি পৃষ্ঠাগুলি @ গ্যাবে উল্লেখ করে নেই যে কাজ করার সময় একটি নতুন লাইনও ছাপা হবে o। না অনেক সংকলক (বিভিন্ন ভাষায়) একটি নতুন লাইন মুদ্রণ করেo
অপ্টিমাইজার

2
@ অপ্টিমাইজার: আমার মনে হয় নতুন লাইনটি অন্তর্ভুক্ত। আমি উইকি পৃষ্ঠায় সংস্করণগুলি আছে এমন 60+ টি ভাষা জানি না, তবে মনে হয় এটি পড়তে পারে এমন সমস্তগুলি দেখে মনে হয়: বাশ, সি (রেফারেন্স বাস্তবায়ন), সি #, সি ++, চালাক, সি 64 বেসিক, গো, হাস্কেল, এইচটিএমএল / জেএস, জাভা, ওবফাসকেটেড সি, ওক্যামেল, প্যাস্কেল, পারল, পাইথন, আর, রুবি, মরিচা, স্কিম, বীজ 7, স্ট্যাকস্ট্যাক, আনঅফিসিয়াল ম্যাজিককিট এসেমব্লার, ভিবি.এনইটি, ডাব্লুটিএফজেডএমএফজি। গুরুত্বপূর্ণ বিষয় হ'ল এই উত্তরটি এমন প্রোগ্রাম তৈরি করে যা রেফারেন্স বাস্তবায়নে কাজ করে না।
গাব

5

গণিত, 254 165 টি অক্ষর + 3455 = 3620

f@n_:=n;g@0="";l={f@0=0};h=If[f@#>f@i&&#<256&&#>0,f@#=f@i+1;g@#=g@i<>#2;l~AppendTo~#]&;While[l!={},i=#&@@l;l=Rest@l;h[i+1,"i"];h[i-1,"d"];h[i*i,"s"];];g@Input[]<>"o"

কম গল্ফ:

f@n_ := n;
g@0 = "";
l = {f@0 = 0};
h = If[f@# > f@i && # < 256 && # > 0,
    f@# = f@i + 1;
    g@# = g@i <> #2;
    l~AppendTo~#] &;
While[l != {},
  i = # & @@ l;
  l = Rest@l;
  h[i + 1, "i"];
  h[i - 1, "d"];
  h[i*i, "s"];
  ];
g@Input[] <> "o"

আমি বিশ্বাস করি ফলাফলগুলি সর্বোত্তম are এটি প্রতিটি 256 সংখ্যার উপরে প্রথমতম অনুসন্ধান করছে, প্রতিটি সংখ্যার প্রতিনিধিত্ব করার স্বল্পতম উপায়ে ট্র্যাক করে। অনুসন্ধানটি ফাংশনে এক ধরণের লুকিং টেবিল তৈরি করছে gযা পরে ইনপুটটিতে প্রয়োগ করা হয়।

রেফারেন্সের জন্য, এখানে সব 255 ফলাফল রয়েছে:

io
iio
iiio
iiso
iisio
iisiio
iisiiio
iiisdo
iiiso
iiisio
iiisiio
iiisiiio
iissdddo
iissddo
iissdo
iisso
iissio
iissiio
iissiiio
iissiiiio
iissiiiiio
iisisdddo
iisisddo
iisisdo
iisiso
iisisio
iisisiio
iisisiiio
iisisiiiio
iisisiiiiio
iisisiiiiiio
iisiisddddo
iisiisdddo
iisiisddo
iisiisdo
iisiiso
iisiisio
iisiisiio
iisiisiiio
iisiisiiiio
iisiisiiiiio
iisiisiiiiiio
iisiisiiiiiiio
iisiiisdddddo
iisiiisddddo
iisiiisdddo
iisiiisddo
iisiiisdo
iisiiiso
iisiiisio
iisiiisiio
iisiiisiiio
iisiiisiiiio
iisiiisiiiiio
iisiiisiiiiiio
iisiiisiiiiiiio
iiisdsdddddddo
iiisdsddddddo
iiisdsdddddo
iiisdsddddo
iiisdsdddo
iiisdsddo
iiisdsdo
iiisdso
iiisdsio
iiisdsiio
iiisdsiiio
iiisdsiiiio
iiisdsiiiiio
iiisdsiiiiiio
iiisdsiiiiiiio
iiissdddddddddo
iiissddddddddo
iiissdddddddo
iiissddddddo
iiissdddddo
iiissddddo
iiissdddo
iiissddo
iiissdo
iiisso
iiissio
iiissiio
iiissiiio
iiissiiiio
iiissiiiiio
iiissiiiiiio
iiissiiiiiiio
iiissiiiiiiiio
iiissiiiiiiiiio
iiissiiiiiiiiiio
iiisisddddddddo
iiisisdddddddo
iiisisddddddo
iiisisdddddo
iiisisddddo
iiisisdddo
iiisisddo
iiisisdo
iiisiso
iiisisio
iiisisiio
iiisisiiio
iiisisiiiio
iiisisiiiiio
iiisisiiiiiio
iiisisiiiiiiio
iiisisiiiiiiiio
iiisisiiiiiiiiio
iiisisiiiiiiiiiio
iiisisiiiiiiiiiiio
iiisiisdddddddddo
iiisiisddddddddo
iiisiisdddddddo
iiisiisddddddo
iiisiisdddddo
iiisiisddddo
iiisiisdddo
iiisiisddo
iiisiisdo
iiisiiso
iiisiisio
iiisiisiio
iiisiisiiio
iiisiisiiiio
iiisiisiiiiio
iiisiisiiiiiio
iiisiisiiiiiiio
iiisiisiiiiiiiio
iiisiisiiiiiiiiio
iiisiisiiiiiiiiiio
iiisiisiiiiiiiiiiio
iiisiisiiiiiiiiiiiio
iiisiiisddddddddddo
iiisiiisdddddddddo
iiisiiisddddddddo
iiisiiisdddddddo
iiisiiisddddddo
iiisiiisdddddo
iiisiiisddddo
iiisiiisdddo
iiisiiisddo
iiisiiisdo
iiisiiiso
iiisiiisio
iiisiiisiio
iiisiiisiiio
iiisiiisiiiio
iiisiiisiiiiio
iiisiiisiiiiiio
iiisiiisiiiiiiio
iiisiiisiiiiiiiio
iiisiiisiiiiiiiiio
iiisiiisiiiiiiiiiio
iiisiiisiiiiiiiiiiio
iiisiiisiiiiiiiiiiiio
iissdddsddddddddddddo
iissdddsdddddddddddo
iissdddsddddddddddo
iissdddsdddddddddo
iissdddsddddddddo
iissdddsdddddddo
iissdddsddddddo
iissdddsdddddo
iissdddsddddo
iissdddsdddo
iissdddsddo
iissdddsdo
iissdddso
iissdddsio
iissdddsiio
iissdddsiiio
iissdddsiiiio
iissdddsiiiiio
iissdddsiiiiiio
iissdddsiiiiiiio
iissdddsiiiiiiiio
iissdddsiiiiiiiiio
iissdddsiiiiiiiiiio
iissdddsiiiiiiiiiiio
iissdddsiiiiiiiiiiiio
iissddsddddddddddddddo
iissddsdddddddddddddo
iissddsddddddddddddo
iissddsdddddddddddo
iissddsddddddddddo
iissddsdddddddddo
iissddsddddddddo
iissddsdddddddo
iissddsddddddo
iissddsdddddo
iissddsddddo
iissddsdddo
iissddsddo
iissddsdo
iissddso
iissddsio
iissddsiio
iissddsiiio
iissddsiiiio
iissddsiiiiio
iissddsiiiiiio
iissddsiiiiiiio
iissddsiiiiiiiio
iissddsiiiiiiiiio
iissddsiiiiiiiiiio
iissddsiiiiiiiiiiio
iissddsiiiiiiiiiiiio
iissddsiiiiiiiiiiiiio
iissdsdddddddddddddddo
iissdsddddddddddddddo
iissdsdddddddddddddo
iissdsddddddddddddo
iissdsdddddddddddo
iissdsddddddddddo
iissdsdddddddddo
iissdsddddddddo
iissdsdddddddo
iissdsddddddo
iissdsdddddo
iissdsddddo
iissdsdddo
iissdsddo
iissdsdo
iissdso
iissdsio
iissdsiio
iissdsiiio
iissdsiiiio
iissdsiiiiio
iissdsiiiiiio
iissdsiiiiiiio
iissdsiiiiiiiio
iissdsiiiiiiiiio
iissdsiiiiiiiiiio
iissdsiiiiiiiiiiio
iissdsiiiiiiiiiiiio
iissdsiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiiiio
iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiiiiio

আমি নিশ্চিত নই যে আমি নিজেই বেশি স্কোরিং পছন্দ করি ... কীভাবে এটি করবেন তার জন্য আপনার কি আরও ভাল ধারণা আছে?
মেগা টম

1
@ মেগাটম যেমন আমি মন্তব্যে পরামর্শ দিয়েছি: সমস্ত 256 সংখ্যার দৈর্ঘ্যের যোগফল ।
মার্টিন এন্ডার

সেক্ষেত্রে আপনার চর গণনাটি 5 বা এরকম কিছু দিয়ে গুণানো উচিত? অন্যথায় এটি শীঘ্রই অপ্রাসঙ্গিক হয়ে উঠবে।
মেগা টম

1
@ সোক্তিনপেক আমি পড়লাম "আপনি 256 এর চেয়ে বড় সংখ্যাকে স্কোয়ারিং করে আঘাত করেন" যদি n > 256না n ≥ 256। এবং এটি এসওল্যাং পৃষ্ঠার সাথেও সামঞ্জস্যপূর্ণ: "যদিও সি বাস্তবায়নের মন্তব্যে বলা হয়েছে /* Make sure x is not greater then [sic] 256 */, বাস্তবায়ন মানটি শূন্যে সেট করে যদি কেবলমাত্র যদি value == -1 || value == 256" "
মার্টিন ইন্ডার

1
@ সাক্টিনপাক না, আপনি -1 দিয়ে মারছেন d, যাতে এটি 0 মুদ্রণ করা উচিত
মার্টিন ইন্ডার

5

সি, 433 কোড + 3455 আউটপুট = 3888

সি ++, 430 কোড + 3455 আউটপুট = 3885

এবং এখন সম্পূর্ণ ভিন্ন কিছু।

আমি মার্টিনের ম্যাথেমেটিকা ​​উত্তর থেকে আউটপুটটি ব্যবহার করেছি (২৩ শে অক্টোবর এর আগে এটি ভুল ছিল বলে ২৩ শে অক্টোবর আপডেট হয়েছিল)। আমার আউটপুট একই 3455 অক্ষর। আমি আউটপুটটিতে নিদর্শনগুলি বিশ্লেষণ করে আবিষ্কার করেছি যে [0,255] এই ক্রম দ্বারা প্রতিনিধিত্ব করা যেতে পারে:

  1. 0-3 iএস
  2. 0-2 sএস
  3. 0-3 iএস বা dএস
  4. 0-1 sএস
  5. 0-14 iবা 0-16 dএস
  6. 1 o

পরবর্তী পদক্ষেপটি ছিল সাবধানে এই পাঁচটি কলামটি তৈরি করা ( নীচের কোডের cমাধ্যমে g)। আমি কলাম এবং এর dপরিবর্তে নির্দেশ করতে নেতিবাচক সংখ্যা ব্যবহার করেছি । তারপরে, দেখা যাচ্ছে যে ফলাফলগুলি বেশিরভাগ কলামে একটি কাউন্টারের মতো কাজ করে , যেহেতু প্রতিটি সারি সাধারণত একটি সরিয়ে দেয় বা পূর্ববর্তী সারির ( ) এর সাথে সম্পর্কিত একটি যুক্ত করে। 15 টি ব্যতিক্রম রয়েছে, যা (সূচীগুলি) এবং (পাঁচটি কলাম, একটি পূর্ণসংখ্যার মধ্যে প্যাক করা হয় যার সর্বাধিক সঞ্চয় করতে 14 বিট প্রয়োজন )।ieggudivxb10832

উদাহরণস্বরূপ, প্রথম "ব্যতিক্রম" হ'ল প্রথম সারি, যেখানে আমরা সমাপ্তি বাদে শূন্য অক্ষর চাই o। যেমনটি x[0]হয় 0এবং b[0]হয় 544, যা আনপ্যাক করা না হলে ("ছোট্ট এন্ডিয়ান" শৈলী, যেহেতু gগণনা কলাম হয়) { 32, 0, 4, 0, 0 }। স্বাক্ষরবিহীন বিট-ফিল্ডগুলিকে কাজ করতে আমরা সর্বদা 32 থেকে g4 এবং 4 বিয়োগ করে e(অর্থাত্ এই দুটি কলামটি নেতিবাচক সংখ্যাকে উপস্থাপন করে dপরিবর্তে যখন প্রয়োজন iহয় তবে বাস্তবায়নে মানগুলি প্রকৃত নেতিবাচক সংখ্যাগুলি এড়াতে অফসেট হয়)।

এখানে প্রথম টেবিলটি দেখায় যে প্রথম দশ নম্বর কীভাবে কাজ করে (ফাঁকা শূন্যগুলি হয়):

n   text    c   d   e   f   g
0   o                   
1   io                      1
2   iio                     2
3   iiio                    3
4   iiso    2   1           
5   iisio   2   1           1
6   iisiio  2   1           2
7   iisiiio 2   1           3
8   iiisdo  3   1          -1
9   iiiso   3   1           

আপনি দেখতে পাচ্ছেন যে gপ্রতিটি নতুন সারির জন্য বেশিরভাগই কেবল এক দ্বারা বৃদ্ধি করা হয়েছে তবে কয়েকটি সারি (0, 4, 8, ..., যা আমি সংক্ষিপ্তভাবে ওইআইআইএস-তে খুঁজে পাওয়ার আশা করছিলাম) অনুক্রমটি "পুনরায় সেট করুন", অর্থটি gকিছু নতুন মান গ্রহণ করে এবং কমপক্ষে অন্য একটি কলামও পাশাপাশি সংশোধিত হয়েছে।

কোড অক্ষর সংখ্যা বাদ প্রতিটি সামনে বাধ্যতামূলক সম্পর্কে newline ব্যতীত হোয়াইটস্পেস #পর এবং স্থান unsignedএবং int। আপনি সি এর পরিবর্তে সি ++ হিসাবে সংকলন করে প্রতিস্থাপন <stdio.h>করে <cstdio>এবং এর *(int*)&uসাথে 3 টি অক্ষর সংরক্ষণ করতে পারেন (int&)u

#include <stdio.h>

struct { unsigned g:6, f:1, e:3, d:2, c:2; } u;

int
  x[] = { 0,4,8,13,22,32,44,57,72,92,112,134,157,182,210,256 },
  b[] = { 544,9760,13855,9821,9949,10076,10203,13785,13911,14040,14167,14294,10452,10578,10705,10832 };

int main()
{
  int n,i=0,q=0;
  scanf("%d", &n);
  while(i++ <= n) {
    ++u.g;
    if (i > x[q])
      *(int*)&u = b[q++];
  }

#define m(p, q) while (p) putchar(#q[0]);

  m(u.c--, i)
  m(u.d--, s)
  m(u.e++ < 4, d)
  m(--u.e > 4, i)
  m(u.f--, s)
  m(u.g++ < 32, d)
  m(--u.g > 32, i)
  puts("o");
}

এই কোড সম্পর্কে একটি মজাদার তথ্য: পূর্ববর্তী সংস্করণে কেবল uএবং এর পরিবর্তে 256 ইউনিয়নের অ্যারে ব্যবহার করা হয়েছিল v। এই সংস্করণটির ফলে জিসিসি 4.7.2 একটি অভ্যন্তরীণ সংকলক ত্রুটি তৈরি করেছে! জিসিসি 4.9 এটি ঠিক করেছে, তবে উপরের কোডটি কোনও সংস্করণ দিয়ে কাজ করে।


1
প্রোগ্রাম ইনপুট নম্বর আছে, পুনরুক্তি না [0 ... 255] (প্রতিস্থাপন for(...)সঙ্গে scanf- এই অক্ষর সংখ্যা হ্রাস হবে)।
অ্যানাতোলিগ

এছাড়াও, হয়তো আরো স্বচ্ছন্দ ভাষা দ্বারা C99 প্রতিস্থাপন পরিত্রাণ পেতে পারে #include, এবং হয়ত আপনি বানাতে পারে structভিতরে unionনামহীন।
এনাটলিগ

@ অ্যানটোলিগ: ধন্যবাদ, আমি সর্বদা প্রিন্ট করার পরিবর্তে স্টিডিন থেকে একটি নম্বর নেওয়ার জন্য প্রোগ্রামটি ঠিক করেছি [0,255]। forলুপ এখনও প্রয়োজন বোধ করা হয় পথে আমি ফলাফল গনা কারণে। এই প্লাস স্ট্রাক নামকরণে 5 টি অক্ষর সংরক্ষণ করা হয়েছে; আরও 2 জন ট্রেলিং করা নতুন লাইনে পরিবর্তন ==করে >এবং মুছে ফেলার মাধ্যমে সংরক্ষণ করা হয়েছিল । :) প্রোগ্রামটি কেবল সি 99 এ পুরোপুরি বৈধ, কারণ mainস্পষ্টভাবে কোনও মান ফেরত দেয় না; এখন #includeকারণে একটি ত্রুটিতে ফলাফল অপসারণ scanf()
জন জুইনক

আমার আউটপুটটি আসলে ভুল ছিল, কারণ আপনি এটি ব্যবহার করতে পারবেন না 256
মার্টিন ইন্ডার

@ মার্টিনবাটনার: মন্তব্যের জন্য আপনাকে ধন্যবাদ। আমি [240,255] এ আপনার নতুন আউটপুটটির সাথে মেলে আমার কোডটিতে সন্ধানের টেবিলগুলি আপডেট করেছি। এটি আমার জন্য কয়েকটা অক্ষর ব্যয় করেছিল কারণ অনেকগুলি ধ্রুবক 4 থেকে 5 বাইটে বৃদ্ধি পেয়েছিল, আউটপুটটি এখন আর দীর্ঘ নয় উল্লেখ করা হলেও কমপক্ষে এটি এখন সঠিক। আমি আর C99- নির্দিষ্ট বৈশিষ্ট্যগুলি ব্যবহার না করায় আমি শিরোনামটি "C99" থেকে "C" তে পরিবর্তন করেছি।
জন জুইনক

5

হাস্কেল, 2200 2177 2171 = 2036 + 135

f n=[s|s<-l,s%0==show n]!!0
l="":[c:x|x<-l,c<-"iosd"]
(h:s)%n|h<'e'=s%(n-1)|h<'j'=s%(n+1)|h<'p'=show n++s%n|n==16=s%0|0<1=s%(n^2)
x%_=x

এটি অভ্যন্তরীণ অবস্থা এবং আউটপুট সহ সমস্ত ডেডফিশ প্রোগ্রামগুলির দৈর্ঘ্য অনুসারে বাছাই করে একটি অসীম তালিকা রেখে কাজ করে। ফাংশন fতালিকাটি অনুসন্ধান করে এবং মেলে এমন প্রথম এন্ট্রিটি ফেরত দেয়।

এই পদ্ধতির oপ্রতিটি ফলাফল কোডে একাধিক জন্য অনুমতি দেয় , কিন্তু এটি হয় সমস্ত অঙ্ক আলাদাভাবে মুদ্রণ, বা একবারে পুরো সংখ্যা মুদ্রণ সীমাবদ্ধ করে না। উদাহরণস্বরূপ, এখানে 216 এর কোড রয়েছে iiosso

সম্পাদনা করুন:
অনুমান অনুসারে, যখন রাজ্যটি 256 (তবে 257 নয়) হয় তখন এটি 0 এ তৈরি করা হয় now এখন আমার কোড এটিকে বিবেচনায় রাখে। উদাহরণস্বরূপ, 160 হয় iissoso

এতে কয়েকটি দক্ষতার সমস্যা রয়েছে; কারণ lএকটি শীর্ষ-স্তরের তালিকা, যার সমস্ত উপাদানগুলির lমূল্যায়ন করা হয়েছে স্মৃতিতে থেকে যায়, এবং তাই রানটাইম সম্ভবত কোনও সময়ে স্মৃতি থেকে বেরিয়ে যাবে।

স্কোর গণনা করতে, আমি একটি সমতুল্য-তবে-কম-স্মৃতি-ভারী সংস্করণ তৈরি করেছি।

আমার আরও দক্ষ কোডটি প্রতিটি প্রয়োগের উপরে তালিকাটি পুনরায় গণনা করে কাজ করে f, যাতে আবর্জনা সংগ্রহকারী তালিকার ইতিমধ্যে অনুসন্ধান করা অংশটি ফেলে দিতে পারে। এক অর্থে, অলসতা ব্যবহার করে এটি প্রস্থের প্রথম অনুসন্ধান search

আরও দক্ষ কোডটি তালিকার উপাদানগুলিতে আরও কিছু বাধাও যুক্ত করে - এটি এমন সমস্ত কোডগুলিকে ফিল্টার করে যা এতে থাকে idবা থাকে di, বা sযখন রাষ্ট্রটি 2 এর চেয়ে ছোট হয় তখন একটি থাকে ।

সম্পাদনা:
আমি gফাংশনটিকে শীর্ষ স্তরের থেকে সহায়ক সহায়ক হিসাবে স্থানান্তরিত করেছি f', সুতরাং এখন gএমন কোডগুলি ফিল্টার করে যা এমন কিছু মুদ্রিত করে যা আমাদের পছন্দসই সংখ্যার উপসর্গ নয়। এখন কোডটি আরও দ্রুত।

আরও দক্ষ কোড:

f' n=[reverse s|(s,_,r)<-l,r==show n]!!0 where
    l=("",0,""):l>>= \(i,s,r)->filter g[('i':i,s+1,r),('o':i,s,r++show s),('s':i,if s==16 then 0 else s*s,r),('d':i,s-1,r)]
    g('i':'d':_,_,_)=False
    g('d':'i':_,_,_)=False
    g('i':'i':_,4,_)=False
    g('s':_,1,_)=False
    g("s",_,_)=False
    g("si",_,_)=False
    g(i,s,r)=s<256&&s>=0&&isPrefixOf r (show n)

নোট করুন যে আরও দক্ষ কোডটির একই ফলাফল হবে না কারণ প্রোগ্রামগুলি বিভিন্ন সম্ভাব্য কোডগুলিকে বিভিন্ন ক্রমে অতিক্রম করে। তবে, তারা একই দৈর্ঘ্যের কোডগুলি আউটপুট দেবে। এছাড়াও, সুইচিং c:xসঙ্গে x++[c]প্রোগ্রাম সমতুল্য করে তোলে।

এই কোডটি দিয়ে আমি সমস্ত প্রোগ্রামগুলি 52 0. 0.81 সেকেন্ডে গণনা করতে সক্ষম হয়েছি ।

সম্পাদনা:
দৃশ্যত এটি সেরা উত্তর! আমি এখনই এটি লক্ষ্য করেছি, যখন এ জিজ্ঞাসা করা হয়েছিল তখন থেকে অনেক দূরে ...

ফলাফলগুলো:

1   io
2   iio
3   iiio
4   iiso
5   iisio
6   iisiio
7   iiisddo
8   iiisdo
9   iiiso
10  iodo
11  ioo
12  ioio
13  ioiio
14  ioiso
15  iissdo
16  iisso
17  iissio
18  iissiio
19  ioiiso
20  iioddo
21  iiodo
22  iioo
23  iioio
24  iioso
25  iiosio
26  iiosiio
27  iioisddo
28  iioisdo
29  iioiso
30  iiioisso
31  iiioddo
32  iiiodo
33  iiioo
34  iiioio
35  iiioiio
36  iisiiso
37  iiiosddo
38  iiiosdo
39  iiioso
40  iisosso
41  iisossio
42  iisoddo
43  iisodo
44  iisoo
45  iisoio
46  iisoiio
47  iisoiiio
48  iisodsdo
49  iisodso
50  iiisddsio
51  iiisddsiio
52  iisiodddo
53  iisioddo
54  iisiodo
55  iisioo
56  iisioio
57  iisioiio
58  iisioiiio
59  iisioddso
60  iiisdsddddo
61  iiisdsdddo
62  iiisdsddo
63  iiisdsdo
64  iiisdso
65  iiisdsio
66  iisiioo
67  iisiioio
68  iisiioiio
69  iisiioiiio
70  iiisdsiiiiiio
71  iiisdsiiiiiiio
72  iiisddodddddo
73  iiisddoddddo
74  iiisddodddo
75  iiisddoddo
76  iiisddodo
77  iiisddoo
78  iiissdddo
79  iiissddo
80  iiissdo
81  iiisso
82  iiissio
83  iiissiio
84  iiissiiio
85  iiissiiiio
86  iiisdoddo
87  iiisdodo
88  iiisdoo
89  iiisdoio
90  iiisodddddsso
91  iiisodddddssio
92  iiisodddddddo
93  iiisoddddddo
94  iiisodddddo
95  iiisoddddo
96  iiisodddo
97  iiisoddo
98  iiisodo
99  iiisoo
100 iodoo
101 iodoio
102 iodoiio
103 iodoiiio
104 iodoiiso
105 iodoiisio
106 iodoiisiio
107 iiisiodddo
108 iiisioddo
109 iiisiodo
110 ioodo
111 iooo
112 iooio
113 iooiio
114 iooiso
115 ioissdo
116 ioisso
117 ioissio
118 ioissiio
119 iooiiso
120 ioioddo
121 ioiodo
122 ioioo
123 ioioio
124 ioioso
125 ioiosio
126 ioiosiio
127 ioioisddo
128 ioioisdo
129 ioioiso
130 ioiioisso
131 ioiioddo
132 ioiiodo
133 ioiioo
134 ioiioio
135 ioiioiio
136 ioisiiso
137 ioiiosddo
138 ioiiosdo
139 ioiioso
140 ioisosso
141 ioisossio
142 ioisoddo
143 ioisodo
144 ioisoo
145 ioisoio
146 ioisoiio
147 ioisoiiio
148 ioisodsdo
149 ioisodso
150 iissdoiso
151 iissdoisio
152 ioisiodddo
153 ioisioddo
154 ioisiodo
155 ioisioo
156 ioisioio
157 ioisioiio
158 ioisioiiio
159 ioisioddso
160 iissoso
161 iissosio
162 iissosiio
163 ioiisdsdo
164 ioiisdso
165 ioiisdsio
166 ioisiioo
167 ioisiioio
168 iissdddsdo
169 iissdddso
170 iissiodso
171 iissiodsio
172 iissiodsiio
173 iissiodsiiio
174 iissiodsiiso
175 ioiisddoddo
176 ioiisddodo
177 ioiisddoo
178 ioiissdddo
179 ioiissddo
180 ioiissdo
181 ioiisso
182 ioiissio
183 ioiissiio
184 ioiissiiio
185 ioiissiiiio
186 ioiisdoddo
187 ioiisdodo
188 ioiisdoo
189 ioiisdoio
190 iissiiiodddso
191 iissddsdddddo
192 iissddsddddo
193 iissddsdddo
194 iissddsddo
195 iissddsdo
196 iissddso
197 iissddsio
198 ioiisodo
199 ioiisoo
200 iioddoo
201 iioddoio
202 iioddoiio
203 iioddoiiio
204 iioddoiiso
205 iioddoiisio
206 iioddoiisiio
207 iioddoiiisddo
208 iioddoiiisdo
209 iioddoiiiso
210 iioisio
211 iiodoo
212 iiodoio
213 iiodoiio
214 iiossddo
215 iiossdo
216 iiosso
217 iiossio
218 iiossiio
219 iiossiiio
220 iiooddo
221 iioodo
222 iiooo
223 iiooio
224 iiooso
225 iioosio
226 iioosiio
227 iiooisddo
228 iiooisdo
229 iiooiso
230 iioioisso
231 iioioddo
232 iioiodo
233 iioioo
234 iioioio
235 iioioiio
236 iiosiiso
237 iioiosddo
238 iioiosdo
239 iioioso
240 iiososso
241 iiosossio
242 iiosoddo
243 iiosodo
244 iiosoo
245 iiosoio
246 iiosoiio
247 iiosoiiio
248 iiosodsdo
249 iiosodso
250 iioisddsio
251 iioisddsiio
252 iiosiodddo
253 iiosioddo
254 iiosiodo
255 iiosioo

3

পিকট 516 + 2060 = 2576

এটি সের্গেই ডিমচেনকো প্রোগ্রামটির কিছুটা সংশোধিত সংস্করণ । এই সংস্করণটি আরও কমপ্যাক্ট ডেডফিশ প্রোগ্রামগুলি আউটপুট করে।

import planner.
final((N,N))=>true.
action((N,A),B,M,C)?=>B=(N,A+1),M=i,C=1.
action((N,A),B,M,C)?=>A!=16,A<N,B=(N,A*A),M=s,C=1.
action((N,A),B,M,C)?=>A>0,B=(N,A-1),M=d,C=1.
r([X,Y|Z],A)?=>(r([Y|Z],R),A=[X|R];X!=['0'],r([(X++Y)|Z],R),A=R).
r([],A)=>A=[]. r([N],A)=>A=[N]. lf(X)=[X].
table(+,-,min) fs(N,M,L)=>r(map(lf,N.to_string()),X),Np:=0,Pp:=[],
foreach(Y in X)N:=Y.to_integer(),best_plan((N,Np),P),Np:=N,Pp:=Pp++P++[o]
end,L=Pp.length(),M=Pp. main=>foreach(X in 1..255)fs(X,P,L),printf("%s",P) end.

যতদূর আমি "আউটপুটগুলির দৈর্ঘ্য" বাক্যটি বুঝতে পেরেছি তার অর্থ হল যে আমার নতুন লাইন অক্ষর ছাড়াই আউটপুট যোগ করা উচিত।

ব্যবহার করুন:

picat filename.pi

1-255 কোড:

picat filename.pi | wc -c    

2060

কর্মক্ষমতা:

cat /proc/cpuinfo # 4 cores with HT = virtual 8 cores

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 42
model name  : Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
stepping    : 7
physical id : 0
siblings    : 8
core id     : 1
cpu cores   : 4
apicid      : 2
cpu MHz     : 1600.000
cache size  : 8192 KB
...
bogomips    : 6819.33
...

সময় পরিমাপ করার প্রোগ্রামটির সংস্করণ:

import planner.
import sys.
final((N,N))=>true.
action((N,A),B,M,C)?=>B=(N,A+1), M=i, C=1.
action((N,A),B,M,C)?=>A!=16, A<N, B=(N,A*A), M=s, C=1.
action((N,A),B,M,C)?=>A>0, B=(N,A-1), M=d, C=1.
r([X,Y|Z],A)?=>(r([Y|Z],R),A=[X|R];r([(X++Y)|Z],R),A=R).
r([],A)=>A=[]. r([N],A)=>A=[N]. lf(X)=[X].
table(+,-,min) fs(N,M,L)=>r(map(lf,N.to_string()),X),Np:=0,Pp:=[],
foreach(Y in X)N:=Y.to_integer(),best_plan((N,Np),P),Np:=N,Pp:=Pp++P++[o]
end,L=Pp.length(),M=Pp. go=>foreach(X in 1..255)fs(X,P,L),printf("%d %s",X,P),nl end.
main=>time2(go).

ফলাফল:

picat filename.pi

...

251 iiosioddddo
252 iiosiodddo
253 iiosioddo
254 iiosiodo
255 iiosioo

CPU time 2.2 seconds. Backtracks: 0

সম্পূর্ণ আউটপুট:

1 io
2 iio
3 iiio
4 iiso
5 iisio
6 iisiio
7 iiisddo
8 iiisdo
9 iiiso
10 iodo
11 ioo
12 ioio
13 ioiio
14 ioiso
15 ioisio
16 iisso
17 iissio
18 ioiisdo
19 ioiiso
20 iioddo
21 iiodo
22 iioo
23 iioio
24 iioso
25 iiosio
26 iiosiio
27 iioisddo
28 iioisdo
29 iioiso
30 iiiodddo
31 iiioddo
32 iiiodo
33 iiioo
34 iiioio
35 iiioiio
36 iisiiso
37 iiiosddo
38 iiiosdo
39 iiioso
40 iisoddddo
41 iisodddo
42 iisoddo
43 iisodo
44 iisoo
45 iisoio
46 iisoiio
47 iisoiiio
48 iisodsdo
49 iisodso
50 iiisddsio
51 iisioddddo
52 iisiodddo
53 iisioddo
54 iisiodo
55 iisioo
56 iisioio
57 iisioiio
58 iisioiiio
59 iisioddso
60 iiisdsddddo
61 iiisdsdddo
62 iiisdsddo
63 iiisdsdo
64 iiisdso
65 iisiiodo
66 iisiioo
67 iisiioio
68 iisiioiio
69 iisiioiiio
70 iiisdsiiiiiio
71 iiisddoddddddo
72 iiisddodddddo
73 iiisddoddddo
74 iiisddodddo
75 iiisddoddo
76 iiisddodo
77 iiisddoo
78 iiisddoio
79 iiissddo
80 iiissdo
81 iiisso
82 iiissio
83 iiissiio
84 iiissiiio
85 iiisdodddo
86 iiisdoddo
87 iiisdodo
88 iiisdoo
89 iiisdoio
90 iiisodddddddddo
91 iiisoddddddddo
92 iiisodddddddo
93 iiisoddddddo
94 iiisodddddo
95 iiisoddddo
96 iiisodddo
97 iiisoddo
98 iiisodo
99 iiisoo
100 iodoo
101 iodoio
102 iodoiio
103 iodoiiio
104 iodoiiso
105 iodoiisio
106 iodoiisiio
107 iiisiodddo
108 iiisioddo
109 iiisiodo
110 ioodo
111 iooo
112 iooio
113 iooiio
114 iooiso
115 iooisio
116 ioisso
117 ioissio
118 iooiisdo
119 iooiiso
120 ioioddo
121 ioiodo
122 ioioo
123 ioioio
124 ioioso
125 ioiosio
126 ioiosiio
127 ioioisddo
128 ioioisdo
129 ioioiso
130 ioiiodddo
131 ioiioddo
132 ioiiodo
133 ioiioo
134 ioiioio
135 ioiioiio
136 ioisiiso
137 ioiiosddo
138 ioiiosdo
139 ioiioso
140 ioisoddddo
141 ioisodddo
142 ioisoddo
143 ioisodo
144 ioisoo
145 ioisoio
146 ioisoiio
147 ioisoiiio
148 ioisodsdo
149 ioisodso
150 ioiisddsio
151 ioisioddddo
152 ioisiodddo
153 ioisioddo
154 ioisiodo
155 ioisioo
156 ioisioio
157 ioisioiio
158 ioisioiiio
159 ioisioddso
160 ioiisdsddddo
161 ioiisdsdddo
162 ioiisdsddo
163 ioiisdsdo
164 ioiisdso
165 ioisiiodo
166 ioisiioo
167 ioisiioio
168 ioisiioiio
169 iissdddso
170 iissdddsio
171 iissdddsiio
172 iissdddsiiio
173 ioiisddoddddo
174 ioiisddodddo
175 ioiisddoddo
176 ioiisddodo
177 ioiisddoo
178 ioiisddoio
179 ioiissddo
180 ioiissdo
181 ioiisso
182 ioiissio
183 ioiissiio
184 ioiissiiio
185 ioiisdodddo
186 ioiisdoddo
187 ioiisdodo
188 ioiisdoo
189 ioiisdoio
190 iissddsddddddo
191 iissddsdddddo
192 iissddsddddo
193 iissddsdddo
194 iissddsddo
195 iissddsdo
196 iissddso
197 ioiisoddo
198 ioiisodo
199 ioiisoo
200 iioddoo
201 iioddoio
202 iioddoiio
203 iioddoiiio
204 iioddoiiso
205 iioddoiisio
206 iioddoiisiio
207 iioddoiiisddo
208 iioddoiiisdo
209 iioddoiiiso
210 iiododo
211 iiodoo
212 iiodoio
213 iiodoiio
214 iiodoiso
215 iiossdo
216 iiosso
217 iiossio
218 iiossiio
219 iiodoiiso
220 iiooddo
221 iioodo
222 iiooo
223 iiooio
224 iiooso
225 iioosio
226 iioosiio
227 iiooisddo
228 iiooisdo
229 iiooiso
230 iioiodddo
231 iioioddo
232 iioiodo
233 iioioo
234 iioioio
235 iioioiio
236 iiosiiso
237 iioiosddo
238 iioiosdo
239 iioioso
240 iiosoddddo
241 iiosodddo
242 iiosoddo
243 iiosodo
244 iiosoo
245 iiosoio
246 iiosoiio
247 iiosoiiio
248 iiosodsdo
249 iiosodso
250 iioisddsio
251 iiosioddddo
252 iiosiodddo
253 iiosioddo
254 iiosiodo
255 iiosioo

আপনি শেষ উদাহরণটি 255 মুদ্রণের কথা বলেছিলেন? যদি তা হয় তবে মনে হয় আপনি ও অপারেশনটি বুঝতে পারেন নি - এটি বর্তমান নম্বর মুদ্রণ করে, বিট এটি পুনরায় সেট করে না, তাই ioioমুদ্রণ করবে "12" এবং না"11"
গর্বিত হাসেলেলার

আমার ভুল বোঝাবুঝির দিকে ইঙ্গিত করার জন্য গর্বিত হাসেলেলারকে ধন্যবাদ Thanks আমি প্রোগ্রাম সংশোধন করেছি।
ভাসিল ডায়াদভ

2

জাভাস্ক্রিপ্ট (E6) 141 + 3455 = 3596

নিকটতম স্কোয়ার রুটের সন্ধান করা পুনরাবৃত্তির ক্রিয়াকলাপ, তবে 16 * 16 = 256 হিসাবে 16 এড়ানো এটিকে 0 এ পরিবর্তন করা হবে other অন্য অনেক উত্তর উত্তর এই পয়েন্টটি পায় না।

F=(t,s='o',o='i')=>
  t>3?(
    q=Math.sqrt(t)|0,
    r=q+1,
    q-16?r-16||++r:--q,
    d=t-q*q,e=r*r-t,
    e<=d&&(o='d',d=e,++q),
    F(q,'s'+o.repeat(d)+s)
  ):o.repeat(t)+s

টেস্ট ফায়ারফক্স / ফায়ারবাগ কনসোলটি

for(l=0,i=1;i<256;++i)o=F(i),l+=o.length,console.log(i,o),l

আউটপুট

1 io
2 iio
3 iiio
4 iiso
5 iisio
6 iisiio
7 iiisddo
8 iiisdo
9 iiiso
10 iiisio
11 iiisiio
12 iiisiiio
13 iissdddo
14 iissddo
15 iissdo
16 iisso
17 iissio
18 iissiio
19 iissiiio
20 iissiiiio
21 iisisddddo
22 iisisdddo
23 iisisddo
24 iisisdo
25 iisiso
26 iisisio
27 iisisiio
28 iisisiiio
29 iisisiiiio
30 iisisiiiiio
31 iisiisdddddo
32 iisiisddddo
33 iisiisdddo
34 iisiisddo
35 iisiisdo
36 iisiiso
37 iisiisio
38 iisiisiio
39 iisiisiiio
40 iisiisiiiio
41 iisiisiiiiio
42 iisiisiiiiiio
43 iiisddsddddddo
44 iiisddsdddddo
45 iiisddsddddo
46 iiisddsdddo
47 iiisddsddo
48 iiisddsdo
49 iiisddso
50 iiisddsio
51 iiisddsiio
52 iiisddsiiio
53 iiisddsiiiio
54 iiisddsiiiiio
55 iiisddsiiiiiio
56 iiisddsiiiiiiio
57 iiisdsdddddddo
58 iiisdsddddddo
59 iiisdsdddddo
60 iiisdsddddo
61 iiisdsdddo
62 iiisdsddo
63 iiisdsdo
64 iiisdso
65 iiisdsio
66 iiisdsiio
67 iiisdsiiio
68 iiisdsiiiio
69 iiisdsiiiiio
70 iiisdsiiiiiio
71 iiisdsiiiiiiio
72 iiisdsiiiiiiiio
73 iiissddddddddo
74 iiissdddddddo
75 iiissddddddo
76 iiissdddddo
77 iiissddddo
78 iiissdddo
79 iiissddo
80 iiissdo
81 iiisso
82 iiissio
83 iiissiio
84 iiissiiio
85 iiissiiiio
86 iiissiiiiio
87 iiissiiiiiio
88 iiissiiiiiiio
89 iiissiiiiiiiio
90 iiissiiiiiiiiio
91 iiisisdddddddddo
92 iiisisddddddddo
93 iiisisdddddddo
94 iiisisddddddo
95 iiisisdddddo
96 iiisisddddo
97 iiisisdddo
98 iiisisddo
99 iiisisdo
100 iiisiso
101 iiisisio
102 iiisisiio
103 iiisisiiio
104 iiisisiiiio
105 iiisisiiiiio
106 iiisisiiiiiio
107 iiisisiiiiiiio
108 iiisisiiiiiiiio
109 iiisisiiiiiiiiio
110 iiisisiiiiiiiiiio
111 iiisiisddddddddddo
112 iiisiisdddddddddo
113 iiisiisddddddddo
114 iiisiisdddddddo
115 iiisiisddddddo
116 iiisiisdddddo
117 iiisiisddddo
118 iiisiisdddo
119 iiisiisddo
120 iiisiisdo
121 iiisiiso
122 iiisiisio
123 iiisiisiio
124 iiisiisiiio
125 iiisiisiiiio
126 iiisiisiiiiio
127 iiisiisiiiiiio
128 iiisiisiiiiiiio
129 iiisiisiiiiiiiio
130 iiisiisiiiiiiiiio
131 iiisiisiiiiiiiiiio
132 iiisiisiiiiiiiiiiio
133 iiisiiisdddddddddddo
134 iiisiiisddddddddddo
135 iiisiiisdddddddddo
136 iiisiiisddddddddo
137 iiisiiisdddddddo
138 iiisiiisddddddo
139 iiisiiisdddddo
140 iiisiiisddddo
141 iiisiiisdddo
142 iiisiiisddo
143 iiisiiisdo
144 iiisiiiso
145 iiisiiisio
146 iiisiiisiio
147 iiisiiisiiio
148 iiisiiisiiiio
149 iiisiiisiiiiio
150 iiisiiisiiiiiio
151 iiisiiisiiiiiiio
152 iiisiiisiiiiiiiio
153 iiisiiisiiiiiiiiio
154 iiisiiisiiiiiiiiiio
155 iiisiiisiiiiiiiiiiio
156 iiisiiisiiiiiiiiiiiio
157 iissdddsddddddddddddo
158 iissdddsdddddddddddo
159 iissdddsddddddddddo
160 iissdddsdddddddddo
161 iissdddsddddddddo
162 iissdddsdddddddo
163 iissdddsddddddo
164 iissdddsdddddo
165 iissdddsddddo
166 iissdddsdddo
167 iissdddsddo
168 iissdddsdo
169 iissdddso
170 iissdddsio
171 iissdddsiio
172 iissdddsiiio
173 iissdddsiiiio
174 iissdddsiiiiio
175 iissdddsiiiiiio
176 iissdddsiiiiiiio
177 iissdddsiiiiiiiio
178 iissdddsiiiiiiiiio
179 iissdddsiiiiiiiiiio
180 iissdddsiiiiiiiiiiio
181 iissdddsiiiiiiiiiiiio
182 iissdddsiiiiiiiiiiiiio
183 iissddsdddddddddddddo
184 iissddsddddddddddddo
185 iissddsdddddddddddo
186 iissddsddddddddddo
187 iissddsdddddddddo
188 iissddsddddddddo
189 iissddsdddddddo
190 iissddsddddddo
191 iissddsdddddo
192 iissddsddddo
193 iissddsdddo
194 iissddsddo
195 iissddsdo
196 iissddso
197 iissddsio
198 iissddsiio
199 iissddsiiio
200 iissddsiiiio
201 iissddsiiiiio
202 iissddsiiiiiio
203 iissddsiiiiiiio
204 iissddsiiiiiiiio
205 iissddsiiiiiiiiio
206 iissddsiiiiiiiiiio
207 iissddsiiiiiiiiiiio
208 iissddsiiiiiiiiiiiio
209 iissddsiiiiiiiiiiiiio
210 iissddsiiiiiiiiiiiiiio
211 iissdsddddddddddddddo
212 iissdsdddddddddddddo
213 iissdsddddddddddddo
214 iissdsdddddddddddo
215 iissdsddddddddddo
216 iissdsdddddddddo
217 iissdsddddddddo
218 iissdsdddddddo
219 iissdsddddddo
220 iissdsdddddo
221 iissdsddddo
222 iissdsdddo
223 iissdsddo
224 iissdsdo
225 iissdso
226 iissdsio
227 iissdsiio
228 iissdsiiio
229 iissdsiiiio
230 iissdsiiiiio
231 iissdsiiiiiio
232 iissdsiiiiiiio
233 iissdsiiiiiiiio
234 iissdsiiiiiiiiio
235 iissdsiiiiiiiiiio
236 iissdsiiiiiiiiiiio
237 iissdsiiiiiiiiiiiio
238 iissdsiiiiiiiiiiiiio
239 iissdsiiiiiiiiiiiiiio
240 iissdsiiiiiiiiiiiiiiio
241 iissdsiiiiiiiiiiiiiiiio
242 iissdsiiiiiiiiiiiiiiiiio
243 iissdsiiiiiiiiiiiiiiiiiio
244 iissdsiiiiiiiiiiiiiiiiiiio
245 iissdsiiiiiiiiiiiiiiiiiiiio
246 iissdsiiiiiiiiiiiiiiiiiiiiio
247 iissdsiiiiiiiiiiiiiiiiiiiiiio
248 iissdsiiiiiiiiiiiiiiiiiiiiiiio
249 iissdsiiiiiiiiiiiiiiiiiiiiiiiio
250 iissdsiiiiiiiiiiiiiiiiiiiiiiiiio
251 iissdsiiiiiiiiiiiiiiiiiiiiiiiiiio
252 iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiio
253 iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiiio
254 iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiiiio
255 iissdsiiiiiiiiiiiiiiiiiiiiiiiiiiiiiio
3455

2

পিকাট, 242 কোড + 3455 আউটপুট = 3697

পিকাট সম্পর্কিত তথ্যের জন্য http://picat-lang.org/ দেখুন ।

import planner. final((N,N))=>true. action((N,A),B,M,C)?=>B=(N,A+1),M=i,C=1. action((N,A),B,M,C)?=>A!=16,A<N,B=(N,A*A),M=s,C=1. action((N,A),B,M,C)?=>A>0,B=(N,A-1),M=d,C=1. main([X])=>N=X.to_integer(),best_plan((N,0),P),printf("%w\n",P++[o]).

কম গল্ফ:

import planner.
final((N,N))=>true.
action((N,A),B,M,C)?=>B=(N,A+1),M=i,C=1.
action((N,A),B,M,C)?=>A!=16,A<N,B=(N,A*A),M=s,C=1.
action((N,A),B,M,C)?=>A>0,B=(N,A-1),M=d,C=1.
main([X])=>N=X.to_integer(),best_plan((N,0),P),printf("%w\n",P++[o]).

1

পাইথন 3 - 4286 + 168 = 4454

খুব সিরিয়াস নয়, তবে অত্যন্ত সাধারণ। 0, একটি বর্গক্ষেত্র, 4 শক্তি যোগ করার মধ্যে কেবল সেরাটি খুঁজে পানএবং একটি 8 শক্তি

সম্পাদনা: গল্ফড 75 বাইট, 8 তম শক্তি কিছুই করেনি

সম্পাদনা 2: সঠিকভাবে প্রয়োগের জন্য কিছু বাইট অপসারণ করা হয়েছে d। স্কোর বেড়েছে, যদিও।

i=int(input())
s=round(i**.5)
q=round(s**.5)
o=round(q**.5)
a,b,c,d=i-256if i>127else i,i-s*s,i-q**4,i-o**8
print(sorted([(a*'i'if a>0else'd'*-a)+'o',s*'i'+'s'+(b*'i'if b>0else'd'*-b)+'o',q*'i'+'ss'+(c*'i'if c>0else'd'*-c)+'o',o*'i'+'sss'+(d*'i'if d>0else'd'*-d)+'o'],key=len)[0])

পাইথন 3 - 2594 + 201 = 2795

সংক্ষিপ্ততম প্রোগ্রামটি সনাক্ত করতে এটি এক ধরণের গভীরতা-প্রথম অনুসন্ধান ব্যবহার করে। আমি এতে কিছু (অপ্রয়োজনীয়?) অপ্টিমাইজেশন যুক্ত করেছি, যাতে আমি ফলাফলটি পেতে পারি; এইভাবে এটি অনেকগুলি পথ চালাতে হবে না। তাদের কিছু অপসারণ করার চেষ্টা করতে পারে। এটি একাধিকের মতো স্মার্ট ট্রিকস ব্যবহার করার কারণে জেএসটিকে হারাবে না o

সম্পাদনা: 93 বাইট বন্ধ গল্ফ, আমার আপাতদৃষ্টিতে বিকাশ দ্বারা সেখানে অকেজো কোড একটি ক্রেটন ছিল। আমি এখনও অবধি অপ্রয়োজনীয় সমস্ত কিছু সরিয়ে ফেলেছি। আমি এখানে আসছি, জেএস।

সম্পাদনা 2: অন্য 8 বাইট গল্ফড সেটা returnছিল অপ্রয়োজনীয়।

সম্পাদনা 3: গল্ফড অতিরিক্ত 5 বাইট আমরা যে এক থেকে মুক্তি পেয়েছি এখন অন্যটির elifপরিবর্তে কেবল একটি লাগাতে পারিreturn

সম্পাদনা 4: এর কার্যকারিতা সংশোধন করে d। আকার 1 বাইট বৃদ্ধি পেয়েছে, কিছু বাইট দ্বারা স্কোর করে।

def f(i,s,h):
 global x,p
 if h==a:p+=[i]
 elif s<x[h]:x[h]=s;f(i+'s',s+1,h*h%256);f(i+'i',s+1,(h+1)%256);f(i+'d',s+1,max(h-1,0))
a,p=int(input()),[];x=[a]*256;f('',0,0);print(sorted(p,key=len)[0]+'o')

1

এপিএল: 80 + 3456 = 3536

⌽'o',{⍵<4:⍵⍴'i'⋄(b/'ids'),∇(-⊃b)+b[2]+⍵*÷1+3⊃b←(⍵>240)⌽⊃(>,<,=)/|⍵-2*⍨(⌈,⌊)⍵*.5}

ব্যাখ্যা: (edc65 এর নোটের পরে সংশোধন করা হয়েছে, ধন্যবাদ)

⍵ <4: i'i 'যদি আর্গুমেন্ট 3 এর চেয়ে কম হয় তবে "i" কে বহুবার প্রতিলিপি করুন

(⌈, ⌊) ⍵ * .5 the হল আর্গুমেন্ট, বর্গমূল নিন এবং সিলিং এবং মেঝে নিন

| ⍵-2 * those এই সিলিং এবং তলকে পাওয়ার 2 তে উন্নীত করুন, যুক্তি সরিয়ে ফেলুন এবং ইতিবাচক করুন

বি ← ⊃ (>, <, =) / এ> বি, এ দিয়ে বুলিয়ান ভেক্টর পান

(24> ২৪০) 25 256 এ যাওয়া এড়াতে, 240 এর বেশি সংখ্যার জন্য "i" করুন, 2 এর পরিবর্তে

বি / 'এইডস' আই, ডি বা এস নিতে এবং এটির সাথে সমাধানটিতে সংযোজন করতে সেই বুলিয়ানটি ব্যবহার করে

, ∇ (-⊃b) + খ [2] + ⍵ * ÷ 1 + 3⊃b পুনরাবৃত্তভাবে যুক্তি দিয়ে ফাংশনটি কল করুন -বি 1 + বি [2] পাওয়ারে উন্নীত (বি [3] +1 এর বিপরীত)

এর সাথে আউটপুট গণনা করতে পারে:

 +/⊃,/⍴¨(⌽'o',{⍵<4:⍵⍴'i'⋄(b/'ids'),∇(-⊃b)+b[2]+⍵*÷1+3⊃b←(⍵>240)⌽⊃(>,<,=)/|⍵-2*⍨(⌈,⌊)⍵*.5})¨¯1+⍳256

Each প্রতিটি সংখ্যা 0-255 এ ফাংশনটি প্রয়োগ করে

+ / ⊃, / উপাদানগুলির মোট সংখ্যা গণনা করে

আবার, আপনি উপরোক্ত সমস্ত চেষ্টা করে চেষ্টা করে দেখতে পারেন TryApl.org

বিটিডাব্লু: এটি 3456 এবং 3455 নয় কারণ আমি 0টিকেও বিবেচনা করছি, কারণ আমি মনে করি যে সমস্যাটি জিজ্ঞাসা করছে। যদি এটি 1-255 হয় তবে স্কোরটি 80 + 3455 = 3535


1
অনেক সংখ্যার জন্য অবৈধ (256 এবং -1 -> 0 এর কারণে)। 255 আইসএসডো উদাহরণ: i: 1, i: 2, s: 4, s: 16, s: 256-> 0, d: -1-> 0, আউটপুট 0
edc65

256-> 0 সম্পর্কে জানতেন না। আমি পরে আবার চেষ্টা করব। যে ইশারা জন্য ধন্যবাদ।
মরিস জুচ্চা

1
এপিএল। । । <যখন তখন থেকে ASCII কৃষকদের ট্রোলিং করা হচ্ছে
সোহম চৌধুরী

0

পাইথন 2712 = 2608 + 104

কোড:

v=lambda i:reduce(lambda x,y:(int(y),x[1]+['d','i'][int(y)>x[0]]*abs(int(y)-x[0])+"o"),str(i),(0,""))[1]

ব্যবহার করুন:

v(20)  -> 'iioddo'
v(250) -> 'iioiiiodddddo'

0-255 কোড:

len(reduce(lambda x,y:x+v(y),range(256),"")) -> 2608

-1

সিজেম, 2436 2392 2296 2173 ( characters৪ টি অক্ষর + ২০৯৯)

"叴噯撘桜᪍뾀戠냞霳㈨嵃畯㓱눿裸㺯蛙㡟激떍䑜㦘啟䂳嗳溘桠㼼ᗎ윆꘶︌英贈袄瞦㺣樅휏╴෼瓵ꃴ︥㷮싎ꗞ冺憳딕礕䀘䬴卺㽅鬞庘䲵"2G#b129b:c~

যা অনুবাদ করে:

r_(sa\a+{},\1/{{i_L\[_Tm3>{{__mqi:NN*-N)_*@-_@e<_@=_N+:N;'d'i?*+'s+N_Z3e>>}g}*T-_0<'d'i?\z*\2$3<'s*-W%'o]s\:Z:T;}%s0:T;3:Z;}:A~\A]_:,_$0=#=

সংখ্যার প্রতিটি অঙ্কে পৌঁছানোর জন্য সবচেয়ে সংক্ষিপ্ত পথটি বেছে নিয়ে ডেডফিশ কোড দৈর্ঘ্যকে অনুকূল করার চেষ্টা করে।

ইউনিকোড অনুবাদের জন্য মার্টিন ধন্যবাদ

কোডের সম্পূর্ণ তালিকা এখানে

1:io
2:iio
3:iiio
4:iiso
5:iisio
6:iisiio
7:iiisddo
8:iiisdo
9:iiiso
10:iodo
11:ioo
12:ioio
13:ioiio
14:ioiiio
15:ioisio
16:ioisiio
17:ioiisddo
18:ioiisdo
19:ioiiso
20:iioddo
21:iiodo
22:iioo
23:iioio
24:iioiio
25:iioiiio
26:iiosiio
27:iioisddo
28:iioisdo
29:iioiso
30:iiiodddo
31:iiioddo
32:iiiodo
33:iiioo
34:iiioio
35:iiioiio
36:iiioiiio
37:iiiosddo
38:iiiosdo
39:iiioso
40:iisoddddo
41:iisodddo
42:iisoddo
43:iisodo
44:iisoo
45:iisoio
46:iisoiio
47:iisoiiio
48:iisodsdo
49:iisodso
50:iisiodddddo
51:iisioddddo
52:iisiodddo
53:iisioddo
54:iisiodo
55:iisioo
56:iisioio
57:iisioiio
58:iisioiiio
59:iisioddso
60:iisiioddddddo
61:iisiiodddddo
62:iisiioddddo
63:iisiiodddo
64:iisiioddo
65:iisiiodo
66:iisiioo
67:iisiioio
68:iisiioiio
69:iisiioiiio
70:iiisddodddddddo
71:iiisddoddddddo
72:iiisddodddddo
73:iiisddoddddo
74:iiisddodddo
75:iiisddoddo
76:iiisddodo
77:iiisddoo
78:iiisddoio
79:iiisddoiio
80:iiisdoddddddddo
81:iiisdodddddddo
82:iiisdoddddddo
83:iiisdodddddo
84:iiisdoddddo
85:iiisdodddo
86:iiisdoddo
87:iiisdodo
88:iiisdoo
89:iiisdoio
90:iiisodddddddddo
91:iiisoddddddddo
92:iiisodddddddo
93:iiisoddddddo
94:iiisodddddo
95:iiisoddddo
96:iiisodddo
97:iiisoddo
98:iiisodo
99:iiisoo
100:iodo
101:ioo
102:ioio
103:ioiio
104:ioiiio
105:ioisio
106:ioisiio
107:ioiisddo
108:ioiisdo
109:ioiiso
110:ioodo
111:iooo
112:iooio
113:iooiio
114:iooiiio
115:iooisio
116:ioisso
117:ioissio
118:iooiisdo
119:iooiiso
120:ioioddo
121:ioiodo
122:ioioo
123:ioioio
124:ioioiio
125:ioisiso
126:ioiosiio
127:ioioisddo
128:ioioisdo
129:ioioiso
130:ioiiodddo
131:ioiioddo
132:ioiiodo
133:ioiioo
134:ioiioio
135:ioiioiio
136:ioisiiso
137:ioiiosddo
138:ioiiosdo
139:ioiioso
140:ioiiioddddo
141:ioiiiodddo
142:ioiiioddo
143:ioiiiodo
144:ioiiioo
145:ioiiioio
146:ioiiioiio
147:ioiiioiiio
148:ioiiiodsdo
149:ioiiiodso
150:ioiisddsio
151:ioisioddddo
152:ioisiodddo
153:ioisioddo
154:ioisiodo
155:ioisioo
156:ioisioio
157:ioisioiio
158:ioisioiiio
159:ioisioddso
160:ioiisdsddddo
161:ioiisdsdddo
162:ioiisdsddo
163:ioiisdsdo
164:ioiisdso
165:ioisiiodo
166:ioisiioo
167:ioisiioio
168:ioisiioiio
169:ioisiioiiio
170:ioiisdsiiiiiio
171:ioiisddoddddddo
172:ioiisddodddddo
173:ioiisddoddddo
174:ioiisddodddo
175:ioiisddoddo
176:ioiisddodo
177:ioiisddoo
178:ioiisddoio
179:ioiissddo
180:ioiissdo
181:ioiisso
182:ioiissio
183:ioiissiio
184:ioiissiiio
185:ioiisdodddo
186:ioiisdoddo
187:ioiisdodo
188:ioiisdoo
189:ioiisdoio
190:ioiisodddddddddo
191:ioiisoddddddddo
192:ioiisodddddddo
193:ioiisoddddddo
194:ioiisodddddo
195:ioiisoddddo
196:ioiisodddo
197:ioiisoddo
198:ioiisodo
199:ioiisoo
200:iioddo
201:iiodo
202:iioo
203:iioio
204:iioiio
205:iioiiio
206:iiosiio
207:iioisddo
208:iioisdo
209:iioiso
210:iiododo
211:iiodoo
212:iiodoio
213:iiodoiio
214:iiossddo
215:iiossdo
216:iiosso
217:iiossio
218:iiossiio
219:iiodoiiso
220:iiooddo
221:iioodo
222:iiooo
223:iiooio
224:iiooiio
225:iiosiso
226:iioosiio
227:iiooisddo
228:iiooisdo
229:iiooiso
230:iioiodddo
231:iioioddo
232:iioiodo
233:iioioo
234:iioioio
235:iioioiio
236:iiosiiso
237:iioiosddo
238:iioiosdo
239:iioioso
240:iioiioddddo
241:iioiiodddo
242:iioiioddo
243:iioiiodo
244:iioiioo
245:iioiioio
246:iioiioiio
247:iioiioiiio
248:iioiiodsdo
249:iioiiodso
250:iioisddsio
251:iioisddsiio
252:iioiiiodddo
253:iioiiioddo
254:iioiiiodo
255:iioiiioo

এটি এখানে অনলাইনে চেষ্টা করুন:


1
এখন, ও কমান্ড একটি নতুন লাইন লেখার বিষয়ে ...
edc65

1
@ edc65 আমি উইকি পৃষ্ঠাটি যাচাই করেছি। আমি oনতুন কোথাও প্রিন্ট করে এমন কোথাও পাই নি । সমস্ত সংকলকগুলি কেবল নতুন লাইন ছাড়াই মুদ্রণ করছিলেন।
অপ্টিমাইজার

1
ভাষা অনুমান প্রায় বিদ্যমান নেই তাই কিছু যায়। তবে সংকলক C printf("%d\n",x); C# Console.WriteLine(x) GO fmt.Println(x) pascal WRITELN(val); python print accumulator (no comma) bash echo $no;; (no -n)
কোডগুলির

1
আমি মনে করি আমাদের তখন ওপিকে প্রশ্নের মধ্যে পরিষ্কারভাবে এটি জানাতে হবে।
অপ্টিমাইজার

1
আপনার প্রোগ্রামে একটি বাগ আছে। সমস্ত কোড 100-109 200-209 মনে হচ্ছে 0
গর্বিত হাস্কেলর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.