"বাজেট" গেমটি খেলুন


56

বিজয়ী: আদিতসুর সিজেমের উত্তর ! পুরো 25 বাইট! নিস!

আপনি আপনার উত্তর জমা দিতে চালিয়ে যেতে পারেন, তবে আপনি আর জিততে পারবেন না। উত্তর পোস্টের জন্য মূল পোস্ট রাখা হয়েছে:


"বাজেট" গেমটি এমন একটি গেম যেখানে আপনাকে অবশ্যই একটি সংখ্যায় গুনতে হবে (এই ক্ষেত্রে 500)। তবে, যদি সংখ্যাটিতে এটি 3 থাকে বা 3 দ্বারা বিভাজ্য হয়, আপনি সংখ্যাটি বলবেন না। পরিবর্তে, আপনি "Bzzt" বলছেন।

নিয়মাবলী:

  • আপনি সংখ্যাগুলি হার্ড-কোড করতে পারবেন না।
  • সংখ্যাটি কেবল নিম্নলিখিত প্রয়োজনীয়তার মধ্যে কমপক্ষে 1 টি পূরণ করতে হয়
    • 3 দ্বারা বিভাজ্য
    • সংখ্যাটিতে একটি 3 রয়েছে
  • কিছু ধরণের বিভাজক বাধ্যতামূলক (12bzzt14 গণনা করা হয় না)
  • স্কোরটি বাইটে পরিমাপ করা হয়।
  • আপনার অবশ্যই 1 বা 0 থেকে শুরু করে 500 হিসাবে গণনা করতে হবে (আপনি চয়ন করেছেন)।
  • সংখ্যাগুলি অবশ্যই আউটপুট হতে পারে, তবে কীভাবে তা (যেমন, স্টাডআউট, কোনও টেক্সট ফাইলে লিখন ইত্যাদি) কোনও বিষয় নয়।
  • 0 টি 3 দ্বারা বিভাজ্য হতে পারে বা বিভাজ্য নয়। তুমি পছন্দ করতে পারো.
  • আপনি একবারে এক নম্বর আউটপুট করতে পারেন (প্রাক্তন, আউটপুট 1, তারপরে 2, তারপর বেজেট, তারপর 4, ইত্যাদি) বা সমস্ত একবারে (যেমন আউটপুট 1 2 বিজেট 4 5)।
  • আপনার অবশ্যই 3 বর্ণটি "bzzt" শব্দের সাথে প্রতিস্থাপন করতে হবে। এটি কেস সেনসিটিভ নয় (বিজেডজেট, বেজেট, বাজেট সব ঠিক আছে)।

  • এটি একটি চ্যালেঞ্জ, তাই সংক্ষিপ্ততম কোডটি জয়ী।
  • এই প্রতিযোগিতাটি 30 ই জুন 2014 (পোস্টিংয়ের 7 দিন) শেষ হবে।

1
এই প্রশ্নের প্রয়োজনে 0 দ্বারা 3 দ্বারা বিভাজ্য?
0urous

2
এটি কি "বাজ" বা "বেজেট"? আপনি এ পর্যন্ত দু'বার "বাজ" লিখেছেন।
অদিতসু

3
পরিষ্কার করে বলো. আমার কি আউটপুট দিতে হবে buzzবা bzztযদি উভয় প্রয়োজনীয়তা প্রয়োগ হয়? আমার কি আউটপুট দিতে হবে 12bzzt4বা এর bzztজন্য 1234?
nyuszika7h

4
আমি বলতে চাই bzztজন্য 1234। এটি এখানে একটি 'সাধারণ' পানীয়ের খেলা (শুধুমাত্র আমরা প্রায়শই এটি 7
দিয়েই করি

66
"0 3 দ্বারা বিভাজ্য হতে পারে বা বিভাজ্য নয়। আপনি চয়ন করতে পারেন" " আমি সত্যিই আপনি চয়ন করতে পারেন বলে মনে করি না। 0 মোড 3 0 হয়, এটি আসলে মতামতের বিষয় নয়।
ডেভিড কনরাড

উত্তর:


33

সিজেম - 25

501{3sI3%<Is-I"bzzt"?N}fI

ধন্যবাদ হাওয়ার্ড :)

এটি http://cjam.aditsu.net/ এ চেষ্টা করুন

ব্যাখ্যা:

501{…}fIমূলত for(int I=0; I<501; ++I) {…}
3s3 টি স্ট্রিংয়ে রূপান্তরিত হয়, অর্থাৎ "3"
I3%হল I% 3
<বাম সাবস্ট্র্রিং পায় "3".substring(0, I % 3)- যা I% 3 == 0 এর জন্য "" এবং "3" অন্যথায় 2 টি স্ট্রিংয়ের সাথে স্ট্রিংতে
Isরূপান্তরিত করে একটি সেট পার্থক্য করে, ফলস্বরূপ একটি ফাঁকা থাকে স্ট্রিং iff % 3 == 0 (প্রথম স্ট্রিংটি খালি ছিল) বা এতে একটি 3 ডিজিট রয়েছে যেমন ; পূর্ববর্তী স্ট্রিংটিকে বুলিয়ান মান হিসাবে বিবেচনা করা হয়, যেখানে "" মিথ্যা এবং অন্য কোনও স্ট্রিং সত্য হলে একটি নতুন লাইন যুক্ত হয়I
-II
…I"bzzt"?… ? I : "bzzt"
N


আপনি আমার গল্ফস্ক্রিপ্ট সমাধানের মতো একই কৌশল ব্যবহার করতে পারেন এবং যৌক্তিক এবং: সংরক্ষণ করতে পারেন 501{3sI3%<Is-I"bzzt"?N}fI
হাওয়ার্ড

29

রুবি, 43

501.times{|a|puts"#{a}"[?3]||a%3<1?:Bzzt:a}

অনেকটাই অকপট.

সম্পাদনা: একটি বাইট সংরক্ষণ করা, ধন্যবাদ হাওয়ার্ড!


1
আপনি লিখলে আপনি একটি একক সাদা স্থান সংরক্ষণ করতে পারেন "#{a}"[?3]||a%3<1
হাওয়ার্ড

@ হাওয়ার্ড: সত্যই, অনেক অনেক ধন্যবাদ!
ভেন্টোরো

1
এমনকি আরও অপাঠ্য কিন্তু দুর্ভাগ্যবশত একই দৈর্ঘ্য: "#{a}"[?3[0,a%3]]
হাওয়ার্ড

কি প্রতিস্থাপন সম্পর্কে putsসঙ্গে pএবং 3 টি অক্ষর সংরক্ষণ?
ডেভিড ইউনিরিক

1
@ ডেভিডউন্রিক তার যুক্তিতে pডাকার ফলাফল মুদ্রণ করে inspect( পুটসের তুলনায়, যা কল করে to_s)। সুতরাং মুদ্রণের পরিবর্তে Bzzt(যা :Bzzt.to_s) এটি মুদ্রণ করবে :Bzzt, যা আউটপুট স্পেসিফিকেশনের সাথে মেলে না।
ভেন্টোরো

25

seq এবং GNU সেড - 42 33 31 30

সরাসরি ড্যাশে কাজ করে, অন্য কয়েকটি শেলের ইতিহাস বিস্তৃতকরণ অক্ষম করা দরকার হতে পারে, যেমন বাশ সহ set +H:

seq 500|sed 0~3!{/3/!b}\;cbzzt

এটা কিভাবে কাজ করে?
nbubis

ইতিহাস সম্প্রসারণ শেল স্ক্রিপ্টগুলিতে ডিফল্টরূপে অক্ষম থাকে।
nyuszika7h

@ নিউউজিকা 7 আ: সত্য, তবে আমি প্রত্যাশা করি যে অনেকে একটি ইন্টারেক্টিভ শেলের মাধ্যমে উত্তরটি চেষ্টা করবেন।
থোর

1
@ এনবুবিস: আপডেট হওয়া সংস্করণটি সিকের সাথে সিকোয়েন্স তৈরি করে কাজ করে। 0~3!রান করে {/3/!b}এবং একসাথে এই এক্সপ্রেশনগুলি লাইনটি এমনভাবে ছেড়ে দেয় যেন এটি বিভাজ্য নয় এবং এতে একটি 3 থাকে না The
থোর

18

ডস (.com ফাইল) এ x86 মেশিন কোড - 71 বাইট

00000000  31 c9 68 20 24 89 e5 89  c8 bb 03 00 31 d2 f7 f3  |1.h $.......1...|
00000010  85 d2 74 1a 89 c8 b3 0a  31 d2 f7 f3 80 fa 03 74  |..t.....1......t|
00000020  0d 80 c2 30 86 d6 52 44  85 c0 75 ea eb 08 89 ec  |...0..RD..u.....|
00000030  68 7a 74 68 62 7a 89 e2  b4 09 cd 21 89 ec 41 81  |hzthbz.....!..A.|
00000040  f9 f4 01 7e c2 59 c3                              |...~.Y.|

ডিলিমিটার হিসাবে স্থান দিয়ে স্টডআউট করার জন্য প্রয়োজনীয় আউটপুট মুদ্রণ করে; ডসবক্সে সমস্যা ছাড়াই চালানো যেতে পারে।

মন্তব্য সমাবেশ:

    org 100h

start:
    ; 0 - 500 counter
    xor cx,cx
    ; we'll use the stack as scratch space to build the strings to print
    ; first of all, push ' $' on the stack (in reverse order); this will be
    ; the end of each string we'll print
    push 2420h
    ; save the stack pointer, to get back to this position after each print
    mov bp,sp
mainloop:
    ; first try to divide by three
    mov ax,cx
    mov bx,3
    xor dx,dx
    div bx
    test dx,dx
    ; no remainder => bzzt
    jz bzzt
    ; otherwise, go into the decimal-print loop
    mov ax,cx
divloop:
    ; bh is already at zero due to the mov bx,3 above
    mov bl,10
    xor dx,dx
    ; divide by 10
    div bx
    ; remainder is 3 => bzzt
    cmp dl,3
    je bzzt
    ; convert number to digit
    add dl,'0'
    ; trick: we move the digit to the upper byte of dx: this allows us to
    ; push the whole dx (you cannot do push dl) but to easily kill the
    ; undesidered byte by touching the stack pointer (it will be overwritten
    ; by the next stack operation/ignored by the print)
    xchg dl,dh
    push dx
    inc sp
    ; check is there anything left to print, rinse & repeat
    test ax,ax
    jnz divloop
    ; skip straight to print
    jmp print
bzzt:
    ; since we may be here from inside divloop, reset the stack pointer to
    ; where we left ' $'
    mov sp,bp
    ; push 'bzzt'
    push 747ah
    push 7a62h
print:
    ; print what is on the stack
    mov dx,sp
    mov ah,9h
    int 21h
    ; move us back to ' $'
    mov sp,bp

    ; increment cx and repeat while we are <=500
    inc cx
    cmp cx,500
    jle mainloop
end:
    ; fix back the stack pointer to the original value (=kill the first push)
    pop cx
    ; quit
    ret

5
সম্মান!!!!! অ্যামেজিং!
ইয়াসিকো

@ ইয়াসিকো: আপনাকে ধন্যবাদ! :) প্রকৃতপক্ষে, এটি আসলেই বিশেষ কিছু নয়, আমি নিশ্চিত যে ডস-এর পক্ষে যারা সমাবেশ লিখেছিলেন তারা অবশ্যই আরও কিছু বাইট ছাঁটাই করতে পারে।
মাত্তেও ইটালিয়া


17

পিএইচপি, কোনও বিভাজক - 62, 61,59,58,52,49 47

এটি বলে না যে তাদের মধ্যে স্পেস / নিউলাইন / বিভাজক থাকা উচিত:

while(++$i<501)echo$i%3*!strpbrk($i,3)?$i:bzzt;

বিভাজক সহ, 68,67,65,64,58 / 55,53 / 52 51/50

while(++$i<501)echo$i%3*!strpbrk($i,3)?$i:bzzt,' '; // 51
while(++$i<501)echo$i%3*!strpbrk($i,3)?$i:bzzt,~õ; // 50
  • সবেমাত্র একটি ছোট 'প্রতারণা' পেয়েছে, এর পরে কোনও জায়গার দরকার নেই echo, আমাকে কিছুটা বাঁচিয়েছে।
  • একটি newline সৃষ্টি
  • আরেকটি ছোট 'প্রতারণা', বাজেটটির উদ্ধৃতিগুলির প্রয়োজন নেই (এটি পরীক্ষিত)। যাওয়ার উপায় নয়, তবে এটি কাজ করে।

জাভাস্ক্রিপ্ট - 54,51 50

একই নীতি, কিন্তু জাভাস্ক্রিপ্ট ফাংশন:

for(i=0;i++<500;)alert(i%3<1|/3/.test(i)?'bzzt':i)

বন্ধনী এবং () টিপসের জন্য @ কোর ধন্যবাদ। আমাকে আমার ব্রাউজারটি কয়েকবার ক্র্যাশ করেছে Mar
মার্টিজন

হা হা। আমি console.log()স্পষ্টতই এটি পরীক্ষা করেছি , তবে এটি আরও কম।
মার্টিজন

1
আপনার জাভাস্ক্রিপ্ট সমাধান 501 থেকে গণনা করা হয়েছে
nderscore

1
52 জন্য পিএইচপি: <?for(;500>$i++;)echo$i%3*!strpbrk($i,3)?$i:bzzt,~õ;দ্য õ245 গৃহস্থালি, একটি বিট-উল্টানো \n
প্রিমো

1
আপনি প্রতিস্থাপন করতে পারেন !strpbrk($1,3)সঙ্গে trim(3,$i)4 বাইট সংরক্ষণ করতে
aross

16

জাভাস্ক্রিপ্ট 50 49

-1 বাইট ধন্যবাদ 101024 কে

for(i=0;i++<500;)alert(i%3*!/3/.test(i)?i:'bzzt')

আমি জানতাম যে এটি করা যেতে পারে! তবে কীভাবে তা খুঁজে পেলেন না
edc65

1
যখন কোনও জাভাস্ক্রিপ্ট সমাধান আমার লাইভস্ক্রিপ্টটিকে মারবে তখন আপনি আমার মুখটি কল্পনা করতে পারেন।
nyuszika7h

আপনার দ্বিতীয় সমাধানে আপনি একটি মুছে ফেলতে পারেন এবং সাইন ইন করতে পারেন এবং এটি এখনও কাজ করবে
user902383

@ user902383 এটি কোনও বুলিয়ান &&অপারেটর ছাড়া বৈধ ফলাফল নয় । উদাহরণস্বরূপ: 497 % 3 = 2=> 2 & true = 0=>bzzt
nderscore

for(i=0;++i<501;)alert(!/3/.test(i)*i%3?i:'bzzt')- 49: পি
কোর 1024

11

গল্ফস্ক্রিপ্ট, 30 29 টি অক্ষর

501,{:^`3`^3%<?)'bzzt'^if n}/

গল্ফস্ক্রিপ্টে এত সরল বাস্তবায়ন নয়, এখানে পরীক্ষা করা যেতে পারে ।


10

পার্ল, 36

print$_%3&&!/3/?$_:Bzzt,$/for 1..500

সম্পাদনা করুন: আমি পার্ল সন্ন্যাসী নই, সুতরাং कोर ১০২৪ তার উত্তরে এর বাইরে আরও একটি বাইট গল্ফ পরিচালনা করেছে বলে মনে হচ্ছে ।


1
say4 টি বাইট সংরক্ষণ করতে ব্যবহার করুন :say$_%3&&!/3/?$_:bzzt for 1..5e2
জায়েদ

@ জায়েদ কেন 5e2 এবং 500 নয়?
চার্লস

@ চারেলস: এগুলি সমতুল্য
জায়েদ

1
@ জায়েদ তাই পরিষ্কার হয় না কেন?
এমন নয় যে চার্লস

4
@ চারেলস: একটি কোড-গল্ফ চ্যালেঞ্জের প্রসঙ্গে, কারও কি যত্ন নেওয়া উচিত?
জায়েদ

10

সি # (71)

সরাসরি লিনকপ্যাডে মৃত্যুদন্ড কার্যকর করা যায়।

for(var i=0;++i<501;)(i%3<1|(i+"").Contains("3")?"buzz":i+"").Dump();

1
আপনি |লজিক্যাল-বা এর পরিবর্তে বিটওয়াইস-বা ( ) ব্যবহার করে একটি চর সংরক্ষণ করতে পারেন ।
জনবট

@ জনবোট আপনার পরামর্শের জন্য ধন্যবাদ।
এভিলফন্টি

আপনি শর্তাধীন প্রায় প্রথম বন্ধনী অপসারণ করতে পারেন।
জনবট

@ জনবোট: এটি মোটামুটি-বা নয় not এটি (অ-শর্ট-সার্কিটিং) যৌক্তিক-বা, যেহেতু অপারেশনগুলি বুলিয়ান।
রায়ান এম

ডাম্প ঠিক লিনকপ্যাড যদিও, সঠিক? অ্যাপ্লিকেশন হিসাবে সি # তে এটি করার জন্য একটি এক্সটেনশন পদ্ধতি যুক্ত করা দরকার। (এবং এটি 'বাজেট' নয় 'বাজ' =))
পল

9

পাইথন (52)

ধন্যবাদ জিআরসি!

for i in range(501):print[i,'Bzzt'][i%3<1or'3'in`i`]

পুরাতন রুপ:

print['Bzzt'if'3'in`i`or i%3<1 else`i`for i in range(501)]

1
একটু খাটো:for i in range(501):print[i,'Bzzt'][i%3<1or'3'in`i`]
GMC

4
এক গৃহস্থালি খাটো:['3'[:i%3]in`i`]
xnor

7

হাস্কেল: 88 82 80 79

main=mapM_ f[1..500]
f n|n`mod`3<1||'3'`elem`show n=putStrLn"bzzt"
f n=print n

আমি যদি উত্তর লিখতে থাকি তবে আমি আইও খাঁজ করে স্ট্রিংয়ের মান দেব return
গর্বিত হাসেলেলার

1
আপনার ==0<1
14

এছাড়াও, এলিমে উপসর্গ তৈরি করার চেষ্টা করুন। আমি মনে করি আপনার লেখার পক্ষে সক্ষম হওয়া উচিত elem'3'$show n, যা একটি চর সংক্ষিপ্ত। অথবা না. আমি চেক করিনি।
গর্বিত হাসেলেলার

@ প্রজাডাস্কেলার: উক্ত অনুচ্ছেদে বলা হয়েছে যে "সংখ্যাগুলি আউটপুট হতে হবে", সুতরাং আইওকে জড়িত থাকতে হবে। এবং ব্যবহারelemপ্রিফিক্স স্বরলিপি করে কোনও অক্ষর বাঁচায় না কারণ এস্টোস্ট্রোফের আগে একটি জায়গা থাকতে হবে; অন্যথায় আপনি পাবেন Not in scope: elem'3'। ভাল চোখ <1থাকলেও!
টেলর ফিউসাক

6

জাভাস্ক্রিপ্ট 66 63 60

for(a=i=[];i<500;)a[i++]=i%3&&!/3/.test(i)?i:'bzzt';alert(a)

অ্যারে ব্যবহারের পরামর্শের জন্য edc65 ধন্যবাদ । আউটপুট এখন কমা দ্বারা পৃথক করা হবে।


পুরানো সংস্করণ

সংস্করণ 1 এ - 66

নিয়ম অনুযায়ী একটি সতর্কতা বাক্সে 1 থেকে 500 পর্যন্ত মুদ্রণ করুন। আউটপুট স্থান পৃথক।

a="";for(i=1;i<501;i++)a+=i%3&&!/3/.test(i)?i+" ":"bzzt ";alert(a)

সংস্করণ 1 বি - 65

যদি আমরা 0 কে 3 দ্বারা বিভাজ্য না বলে বিবেচনা করি, আমরা 65 টি চরিত্রের সমাধানটি সংক্ষিপ্ত করতে পারি:

a=0;for(i=1;i<501;i++)a+=i%3&&!/3/.test(i)?" "+i:" bzzt";alert(a)

সংস্করণ 2 - 63

for(a=i="";i<501;)a+=++i%3&&!/3/.test(i)?i+" ":"bzzt ";alert(a)

ধন্যবাদ দৈর্ঘ্য হ্রাস পরামর্শের জন্য grc


1
আমি মনে করি আপনি for(a=i="";i<500;)a+=++i ...
grc

আমি কমা বিভক্ত আউটপুট ঠিক আছে, একটি অ্যারে আরও কম হবে: (ও = আমি = []; আই <500;) ও [আমি ++] = আমি% 3 ও&&! / 3 /। সেরা (i)? I: 'বেজেট' ; সতর্কতা (ও)
edc65

6

পাওয়ারশেল, 42

1..500|%{($_,'bzzt')[$_-match3-or!($_%3)]}

বেশিরভাগ ভেন্ত্রোর কাজ, আমার দ্বারা সিনট্যাক্সে সামান্য সাহায্যে ;-)


6

আর, 49 টি অক্ষর

a=1:500;b='bzzt';a[!a%%3]=b;a[grep(3,a)]=b;cat(a)

ব্যাখ্যা:

a=1:500 #Creates a vector with all integers from 1 to 500
b='bzzt'
a[!a%%3]=b #Replace all multiples of 3 by 'bzzt', thus coercing all other integers to character strings
a[grep(3,a)]=b #Replaces the character strings containing 3 by 'bzzt'
cat(a) #Print to stdout

ব্যবহার:

> a=1:500;b='bzzt';a[!a%%3]=b;a[grep(3,a)]=b;cat(a)
1 2 bzzt 4 5 bzzt 7 8 bzzt 10 11 bzzt bzzt 14 bzzt 16 17 bzzt 19 20 bzzt 22 bzzt bzzt 25 26 bzzt 28 29 bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt 40 41 bzzt bzzt 44 bzzt 46 47 bzzt 49 50 bzzt 52 bzzt bzzt 55 56 bzzt 58 59 bzzt 61 62 bzzt 64 65 bzzt 67 68 bzzt 70 71 bzzt bzzt 74 bzzt 76 77 bzzt 79 80 bzzt 82 bzzt bzzt 85 86 bzzt 88 89 bzzt 91 92 bzzt 94 95 bzzt 97 98 bzzt 100 101 bzzt bzzt 104 bzzt 106 107 bzzt 109 110 bzzt 112 bzzt bzzt 115 116 bzzt 118 119 bzzt 121 122 bzzt 124 125 bzzt 127 128 bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt 140 bzzt 142 bzzt bzzt 145 146 bzzt 148 149 bzzt 151 152 bzzt 154 155 bzzt 157 158 bzzt 160 161 bzzt bzzt 164 bzzt 166 167 bzzt 169 170 bzzt 172 bzzt bzzt 175 176 bzzt 178 179 bzzt 181 182 bzzt 184 185 bzzt 187 188 bzzt 190 191 bzzt bzzt 194 bzzt 196 197 bzzt 199 200 bzzt 202 bzzt bzzt 205 206 bzzt 208 209 bzzt 211 212 bzzt 214 215 bzzt 217 218 bzzt 220 221 bzzt bzzt 224 bzzt 226 227 bzzt 229 bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt 241 242 bzzt 244 245 bzzt 247 248 bzzt 250 251 bzzt bzzt 254 bzzt 256 257 bzzt 259 260 bzzt 262 bzzt bzzt 265 266 bzzt 268 269 bzzt 271 272 bzzt 274 275 bzzt 277 278 bzzt 280 281 bzzt bzzt 284 bzzt 286 287 bzzt 289 290 bzzt 292 bzzt bzzt 295 296 bzzt 298 299 bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt 400 401 bzzt bzzt 404 bzzt 406 407 bzzt 409 410 bzzt 412 bzzt bzzt 415 416 bzzt 418 419 bzzt 421 422 bzzt 424 425 bzzt 427 428 bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt bzzt 440 bzzt 442 bzzt bzzt 445 446 bzzt 448 449 bzzt 451 452 bzzt 454 455 bzzt 457 458 bzzt 460 461 bzzt bzzt 464 bzzt 466 467 bzzt 469 470 bzzt 472 bzzt bzzt 475 476 bzzt 478 479 bzzt 481 482 bzzt 484 485 bzzt 487 488 bzzt 490 491 bzzt bzzt 494 bzzt 496 497 bzzt 499 500

6

কোবরা - 70

class P
    def main
        for i in 501,print if('3'in'[i]'or i%3<1,'Bzzt',i)

ব্যাচ - 222

কারণ আমি এই ভাষাটি সত্যই ভালবাসি ... কোনও কারণে ...

SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%n in (1,1,500) do (
    set a=%%n&set /ai=!a!%%3
    if "!a:~0,1!"=="3" set a=Bzzt
    if "!a:~1,2!"=="3" set a=Bzzt
    if "!a:~2,3!"=="3" set a=Bzzt
    if !i!==0 set a=Bzzt
    echo !a!>>x)

আপনি প্রথমটিতে অপারেশনগুলির চারপাশে উদ্ধৃতি চিহ্নগুলি ফেলে দিতে সক্ষম হবেন ifকারণ আপনি জানেন যে কমপক্ষে একটি সংখ্যা রয়েছে। এর forসাথে সম্পূর্ণ ব্লকটিকে কনটেনেট &করে প্যারেন্টেসিসগুলি সংরক্ষণ করতে পারে।
জোয়

তদতিরিক্ত, আপনি ==পরিবর্তে ব্যবহার করতে পারেন EQUএবং সম্ভবত এখানে এবং সেখানে কয়েকটি স্পেস ফেলে দিতে পারেন ।
জোয়

@ জো পরামর্শের জন্য ধন্যবাদ!
ousurous

6

টিআই-বেসিক - 31 (32) (34) (35) (36) (43)

:While X<500
:X+1→X
:If not(fPart(X/3
:"bzzt
:Disp Ans
:End

Total: 25 + 6 lines = 31

দ্রষ্টব্য যে টিআই-বেসিকের সর্বাধিক আদেশগুলি একক-বাইট সত্তা হিসাবে উপস্থাপিত হয়।

কোডটির X এর আগে 0 থেকে শুরু করার প্রয়োজন (অন্যথায় এটি অতিরিক্ত 3 বাইট)।

আমি বেশ কয়েকটি বাইট শেভ করার জন্য বেশ কয়েকটি প্রচেষ্টা করেছি, তাই পোস্ট এখানে গোলমাল না করার কারণে আমি এখানে যা কিছু করেছি তার বিবরণ দিচ্ছি না। এগুলি বেশিরভাগ লুপটি সংক্ষিপ্ত করার জন্য পরিচালিত হয়েছে, যা আমি এই সংস্করণটিতে কিছুক্ষণের মধ্য দিয়ে করেছি এবং Ansভেরিয়েবলের সাহায্যে if শর্তটি সংক্ষিপ্ত করে ।


আমি ভুল হলে আমাকে সংশোধন করুন, তবে এটি bzzt3 এর সংখ্যার মতো মনে হয় না , যেমন 13
থোর

@ থোর আপনি সঠিক, তবে আমি বিধিগুলির মধ্যে রয়েছি, কারণ তারা বলেছে যে আমি bzztকেবল ৩ নম্বর দ্বারা বিভাজ্য সংখ্যাগুলির জন্য মুদ্রণ করতে পারি । অন্যভাবে যুক্ত করা সম্ভব হতে পারে, তবে আরও নির্দেশাবলীর প্রয়োজন হবে।
ডক্টোরো রিচার্ড

1
বিধিগুলি বলে: যদি সংখ্যাটিতে 3 থাকে বা 3 দ্বারা বিভাজ্য হয়, আপনি সংখ্যাটি বলবেন না। পরিবর্তে, আপনি "Bzzt" বলুন , তাই আমি বলব উভয়ই প্রতিস্থাপন করা উচিত।
থোর

@ থোর যা আমাকে এখন সবচেয়ে বেশি বিরক্ত করে তা হ'ল বাক্যটির মাঝামাঝি teen আমি যেভাবে এটি ব্যাখ্যা করেছি, করার উভয় পদ্ধতিই সমানভাবে বৈধ, যা ২ য়
নিয়মকেও

1
আপনি এখানে বাইটগুলি মিসক্ট করেছেন কারণ ছোট হাতের অক্ষরগুলি দ্বি-বাইট টোকেন। আমি নিয়মের থোরের ব্যাখ্যার সাথে একমত কারণ এটি এর উপরে প্রতিটি উত্তর ব্যবহার করে।
lirtosiast

5

সি, 93

শুধু এর নরকের জন্য ...

main(i){char s[9]="bzzt";while(i<498+sprintf(s+5,"%d",i))puts(s+5*(i++%3&&!strchr(s+5,51)));}

এটিতে একটি ছোট ত্রুটি রয়েছে - এটি আউটপুট এড়িয়ে যায়i = 0
অ্যানাটলিগ

4
@ অ্যানাটোলিগ "আপনার 1 বা 0 থেকে শুরু করে আপনার অবশ্যই গণনা করতে হবে (আপনি চয়ন করেছেন)"। - আমি 1. থেকে শুরু করতে বেছে নেওয়া হয়েছে
খুঁতখুঁতে ossifrage

কিছুটা মিস করেছেন। দুঃখিত!
অ্যানাটলিগ

আপনি যদি এটি আর্গুমেন্ট পাস করেন তবে আরও অনেক কিছু এড়িয়ে যান ol কিন্তু, এটি খুব গল্ফ হয়েছে, আমি আপনাকে এটি দেব! স্প্রিন্টফের রিটার্ন মানটি ব্যবহার করতে নীচে আপনি যখন সময়টি নিয়ন্ত্রণ করতে তিন অঙ্কের সংখ্যার দিকে ঝোঁকেন, হ'ল। এত খারাপ .... হা হা!
ড্রিম ওয়ারিয়র

5

জুলিয়া 64 বাইট

map(x->x%3==0||contains(string(x),"3")?"Bzzt":string(x),[1:500])

2
[println(a%3==0||3 in digits(a)?"bzzt":a) for a=1:500]54 বাইট হয়। এছাড়াও একটি অ্যারে ফিরিয়ে দেওয়া পুরো অ্যারেটি প্রিন্ট করে না, সুতরাং এটি "আউটপুট" হিসাবে গণ্য কিনা তা আমি নিশ্চিত নই। যদি অ্যারে গণনা ফিরিয়ে দেওয়া হয় তবে [a%3==0||3 in digits(a)?"bzzt":a for a=1:500]45 গুনতে এবং স্কোর করতে পারে
gggg

5

cmd.exe - 91

for /l %x in (1,1,500)do @set/a %x%3|find "0">nul&&echo bzzt||echo %x|find/v"3"||echo bzzt

... কারণ যখন পুরোপুরি সরল সরল ওয়ান-লাইনার উপস্থিত থাকে তখন ব্যাচ ফাইলটি কেন ব্যবহার করুন ... :-)


5

গ্রোভি - 51

500.times{println"$it".find('3')||it%3<1?'bzzt':it}

সম্পাদনা: timesমুদ্রণ সংস্করণ ব্যবহার করে এখন "প্রদর্শন" এর মতোই ছোট। ধন্যবাদ @ উইল-পি


1
+1 টি। আপনি অদলবদল করতে পারেন (1..500).eachজন্য500.times
LP হবে

4

সি, 80

লাইন ব্রেকগুলির পরিবর্তে পৃথককারী হিসাবে স্পেস ব্যবহার করা।

n;main(){for(;n++<500;)printf(n%10^3&&n/10%10^3&&n/100^3&&n%3?"%d ":"bzzt ",n);}

1 bzzt 3 4 bzzt 6 7 bzzt 9 10 bzzt bzzt 13 bzzt... এখানে কিছু ভুল আছে।
স্কিওমিশ ওসিফরেজ

দেখে মনে হচ্ছে আমি খুব লোভী ছিলাম এবং অনির্ধারিত আচরণে হোঁচট খেয়েছি (পরিবর্তনশীল পরিবর্তন এবং ক্রম পয়েন্টগুলির মধ্যে পড়া) between এখন স্থির।
অ্যানাটলিগ

ওয়ার্কিং এখন :-)
খুঁতখুঁতে ossifrage

4

গণিত, 54 অক্ষর

এটি খুব সোজা মনে হয়। সংক্ষিপ্ত সমাধানগুলি অবশ্যই সম্ভব।

If[DigitCount[#][[3]] > 0 || #~Mod~3 < 1, Bzzt, #] & /@ Range@500

আপনার এস্ট্রোফেসের দরকার নেই :)
ডঃ বেলিসারিয়াস

পছন্দ করুন ধন্যবাদ।
মাইকেল স্টারন

4

টি-এসকিউএল 2008 - 80

জিততে বা কিছুই জাগানো নয় তবে মজাও কম নয়: @ অ্যাডম্যাজারকে টুইট করা ধন্যবাদ:

declare @ int=0t:if(@)like'%3%'or @%3=0print'bzzt'print @;set @+=1if @<501goto t

একটি সামান্য পরিচিত তথ্য, @ একটি ভেরিয়েবলের জন্য একটি বৈধ নাম। সেট বেসড কোডটি আরও বেশি এসকিউএল বৈকল্পিক হওয়ায় এটি অদ্ভুত বোধ করে তবে সংক্ষিপ্ততর! এই সংস্করণটি কোনও ডাটাবেসে কাজ করে। সম্পাদনা: সেমিগুলির দুটি প্রয়োজন ছিল না বলে আমি তাদের দুটি সরাতে সক্ষম হয়েছি। আমি নিশ্চিত যে এটি এটি হিসাবে সর্বোত্তম হয়।

সম্পাদনা 2: কখনও কখনও বলবেন না। এখানে এখন গোটো ব্যবহার করে গ্রোসারও রয়েছে তবে এটি আমাদের ব্লক এড়াতে দেয় allows আমরা পরিবর্তিত হতে পারি, শুরু করতে পারি, সংক্ষিপ্ত করে শেষ করতে পারি যদি, t:, 6 অক্ষর সংরক্ষণ করতে পারি। আমরা লুপটিকে সিউডো ডু-ওয়েট হিসাবে, শব্দার্থ সমতুল্য হিসাবে পুনর্লিখন করে বিবৃতিটিকে পুনর্বিন্যাসও করি। সম্পাদনা 3: হ্যাঁ, যদি এখন কিছুটা ছোট হয়। মূল:

select top 501iif(number like'%3%'or number%3=0,'bzzt',str(number))from spt_values where'p'=type

মাস্টার ডাটাবেসে চালানো আবশ্যক। আমি টি-এসকিউএল এর কোলাহলপূর্ণ এবং কুৎসিত উপায় সত্ত্বেও ভালবাসি। এটি সহজতর করার উপায় থাকতে পারে তবে দুর্ভাগ্যক্রমে, iifঅন্তর্নির্মিত উভয় পক্ষই প্রকারের সাথে একমত হওয়া প্রয়োজন। SQL সার্ভার অগ্রাধিকারের নিয়মগুলি স্ট্রিংয়ের চেয়ে বেশি প্রাধান্য দেয়। সংখ্যাটিও বেশ দীর্ঘ, তবে এলিয়াসিং এর চেয়ে বেশি অক্ষর। স্ট্রিংয়ে নম্বর ঘুরিয়ে দেওয়ার আরও ভাল উপায় হতে পারে। সম্পাদনা: আরআরও কাজ করে। Ltrim এর চেয়ে 2 টি কম অক্ষর


প্রথমে আমি ভেবেছিলাম আপনার কোডটি 2012.96 বাইট দীর্ঘ।
nyuszika7h

@ 101 এ কিছুটা দীর্ঘ, তবে কোনও টেবিলে ভরসা করে নাdeclare @i int=1;while(@i<501)begin;if(@i)like'%3%'or @i%3=0 print'bzzt'else print @i;set @i=@i+1 end
ডোমজার

@ ডমজার, পুরোপুরি ঠিক, প্লাসে আমরা ভেরিয়েবলটি স্যুইচ করে বেশ কয়েকটি অক্ষর সংরক্ষণ করতে পারি @। তারপরে আইআইএফ () ব্যবহার করা যদি একটি (...) মুদ্রণ করা হয় তার চেয়ে আরও ছোট হয় তবে iifএক্সপ্রেশনটি ব্যবহার করে আমরা কিছুটা লাভ করি । এছাড়াও আমরা @+=1একটি চর সংরক্ষণ করতে সংক্ষিপ্ত ব্যবহার করতে পারি
মাইকেল বি

আমি টি-এসকিউএল সমর্থিত জানতাম না +=। আমার কাছে এটি পরীক্ষার পক্ষে সহজ নয় তবে আমি নিশ্চিত যে এটি ''+@আক্রমণকারী লোকেলের সাহায্যে স্ট্রিং রূপান্তরকে সমর্থন করে।
পিটার টেলর

+=এটি ২০০৮ সালে যুক্ত হয়েছিল It এটি '' + @ সমর্থন করে তবে এটি আপনি যা চান তা তা করে না। আমি যেমন বলেছি, অগ্রাধিকারের নিয়মগুলি প্রথমে ইন্টিতে কাস্ট ''করা তাই এটি ক্রেস্ট করে, ফলস্বরূপ শূন্যের ফলে ''+@এটি @এখনও টাইপ করা হয় intstrকাজ করে এবং এটি অন্য যে কোনও কিছুর চেয়ে বেশি ব্যয়বহুল নয় (প্যারেনগুলির জন্য 2 অতিরিক্ত অক্ষর)। IIFঅপারেটরের কারণে আমি এখানে টি-স্কুয়েল 2012 বেছে নিয়েছি , যারা জানেন যে 2016 এর রিলিজ এসকিএল কিছু শব্দ থেকে মুক্তি পাবে এবং প্রতিযোগিতামূলক (অসম্ভব) হতে শুরু করবে।
মাইকেল বি

4

ভিবিএ: 54

for x=0to 500:?iif(x/3=x\3=instr(1,x,3),x,"Bzzt"):next

আপনার পছন্দের অফিস প্রোগ্রামটি খুলুন, ভিবিএ আইডিই খুলতে Alt + F11 চাপুন এবং তাৎক্ষণিক ফলকে কোডটি আটকে দিন এবং এন্টার টিপুন।

ভিবিএতে: লাইন বিভাজক,? প্রিন্টের জন্য শর্টহ্যান্ড, আইআইফের অর্থ ইনলাইন যদি (ভাবেন এক্স? "ওয়াই": "এন"), এক্স / 3 ভাসমান পয়েন্ট বিভাগ করে এবং x \ 3 পূর্ণসংখ্যা বিভাগ করে, ইন্সটিআর একটি স্ট্রিংতে একটি চরের অবস্থান প্রদান করে, বা 0 অন্যথায়, সত্য = -1 এবং মিথ্যা = 0।

কোডটি মূলত এক্স এবং আউটপুট এক্স বাড়ায় তবে x / 3 = x \ 3 = ইনস্ট্র (1, এক্স, 3) সত্য এবং "Bzzt" অন্যথায় হয়। x / 3 = x \ 3 তুলনা (ভাসা) (x / 3) থেকে (int) (x / 3) করে এবং একটি বুলিয়ান দেয় (0 মিথ্যা এবং -1 সত্য)। instr (1, x, 3) "3" সংখ্যায় না থাকলে 0 এবং অন্যথায় ধনাত্মক পূর্ণসংখ্যা দেয় returns কেবলমাত্র এক্সপ্রেশনটি সত্য হয়ে যায় যখন (x / 3 = x \ 3) মিথ্যা (0) হয় এবং ইনস্ট্রার (1, x, 3) 0 হয় বা অন্য কথায়, যখন x 3 দ্বারা বিভাজ্য হয় না এবং হয় না "3" সংখ্যাটি অন্তর্ভুক্ত করুন, যা আমরা ঠিক খুঁজছি।


4

কে 4 (37) (35)

{$(x;`bzzt)(|/51=$x)|~"."in$x%3}'!501

k4অন্তর্নির্মিত মডুলো কমান্ডের অভাব রয়েছে এবং এটি ব্যবহার করে qএকটি অতিরিক্ত চরিত্র গ্রহণ করা হবে; এই সংস্করণ (আব) বিভাজনের ফলাফলের স্ট্রিং কিনা তা পরীক্ষা করতে অন্তর্নির্মিত আউটপুট ফর্ম্যাট ব্যবহার করেx করে 3 দ্বারা দশমিক পয়েন্ট রয়েছে কিনা তা পরীক্ষা করতে।

সম্পাদনা করুন:

{$(x;`bzzt)(|/51=$x)|x=3*_x%3}'!501

দশমিক পয়েন্টের সাথে মিলে যাওয়া হিসাবে চালাক হতে পারে, আমি 3*floor x%3এখনও পরীক্ষা করে দুটি বাইট শেভ করতে পারি x


চতুরতার সাথে দশমিক পয়েন্টের সাথে মেলে জন্য উজ্জীবিত!
মার্ক

দয়া করে আপনার সমস্ত উত্তর আপডেট করবেন না। এটি সমস্ত সক্রিয় চ্যালেঞ্জগুলি প্রথম পৃষ্ঠা থেকে সরিয়ে দেবে। আপনি যদি একবার মাত্র দু'একটি করে থাকেন তবে ভাল লাগবে। (যদিও আমি মনে করি না যে এর মধ্যে পরিবর্তন করা h1এবং h2এটি প্রথম স্থানে সম্পাদনাটি পাওয়ার পক্ষে যথেষ্ট গুরুত্বপূর্ণ))
মার্টিন ইন্ডার

3

ব্যাশ, 53 52 48 46

seq 500|factor|sed '/3.*:\| 3 */cBzzt
s/:.*//'

GNU সেড প্রয়োজন ( cএক্সটেনশনটি ব্যবহার করে )।


3

জাভা, 142 131 WozzeC পরামর্শের জন্য ধন্যবাদ

public class a{public static void main(String[]a){for(int i=1;i<501;i++)System.out.println(i%3>0&(""+i).indexOf(51)<0?i:"bzzt");}}

1
আমার জাভা কিছুটা মরিচা। তবে এটি একটি এবং অপারেন্ডের সাথে সংক্ষিপ্ত হবে? i% 3> 0 && ("" + i) .indexOf (51) <0? i: "bzzt"। ফর্মলুপের জন্য sk। এড়িয়ে যাওয়াও সম্ভব হতে পারে।
ওজেজেসি

এটি 122 বাইট, 9 কম:class A{public static void main(String[]a){for(int i=0;++i<501;System.out.println(i%3>0&(""+i).indexOf(51)<0?i:"bzzt"));}}
লুইজি কর্টিজ

3

আর (40) (36)

এটি মূলতঃ প্ল্যানাপাসের উত্তরটি কিছুটা ছোট করে দেওয়া হয়েছে, তবে আমি এখনও কোনও মন্তব্য করতে পারি না

আপডেট: -4 টি অক্ষর (প্ল্যানাপাসের মন্তব্য দেখুন)

a=1:500;a[grepl(3,a)|!a%%3]='bzzt';a

আউটপুট:

  [1] "1"    "2"    "bzzt" "4"    "5"    "bzzt" "7"    "8"    "bzzt" "10"   "11"   "bzzt" "bzzt" "14"   "bzzt" "16"   "17"   "bzzt" "19"   "20"   "bzzt" "22"   "bzzt" "bzzt" "25"   "26"   "bzzt" "28"   "29"   "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "40"   "41"   "bzzt" "bzzt" "44"   "bzzt" "46"   "47"   "bzzt" "49"   "50"   "bzzt" "52"   "bzzt" "bzzt" "55"   "56"   "bzzt" "58"   "59"   "bzzt" "61"   "62"   "bzzt" "64"   "65"   "bzzt" "67"   "68"   "bzzt" "70"   "71"   "bzzt" "bzzt" "74"   "bzzt" "76"   "77"   "bzzt" "79"   "80"   "bzzt" "82"   "bzzt" "bzzt" "85"   "86"   "bzzt" "88"   "89"   "bzzt" "91"   "92"   "bzzt" "94"   "95"   "bzzt" "97"   "98"   "bzzt" "100"  "101"  "bzzt" "bzzt" "104"  "bzzt" "106"  "107"  "bzzt" "109"  "110"  "bzzt" "112"  "bzzt" "bzzt" "115"  "116"  "bzzt" "118"  "119"  "bzzt" "121"  "122"  "bzzt" "124"  "125"  "bzzt" "127"  "128"  "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "140"  "bzzt" "142"  "bzzt" "bzzt" "145"  "146"  "bzzt" "148"  "149"  "bzzt" "151"  "152"  "bzzt" "154"  "155"  "bzzt" "157"  "158"  "bzzt" "160"  "161"  "bzzt" "bzzt" "164"  "bzzt" "166"  "167"  "bzzt" "169"  "170"  "bzzt" "172"  "bzzt" "bzzt" "175"  "176"  "bzzt" "178"  "179"  "bzzt" "181"  "182"  "bzzt" "184"  "185"  "bzzt" "187"  "188"  "bzzt" "190"  "191"  "bzzt" "bzzt" "194"  "bzzt" "196"  "197"  "bzzt" "199"  "200"  "bzzt" "202"  "bzzt" "bzzt" "205"  "206"  "bzzt" "208"  "209"  "bzzt" "211"  "212"  "bzzt" "214"  "215"  "bzzt" "217"  "218"  "bzzt" "220"  "221"  "bzzt" "bzzt" "224"  "bzzt" "226"  "227"  "bzzt" "229"  "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "241"  "242"  "bzzt" "244"  "245"  "bzzt" "247"  "248"  "bzzt" "250"  "251"  "bzzt" "bzzt" "254"  "bzzt" "256"  "257"  "bzzt" "259"  "260"  "bzzt" "262"  "bzzt" "bzzt" "265"  "266"  "bzzt" "268"  "269"  "bzzt" "271"  "272"  "bzzt" "274"  "275"  "bzzt" "277"  "278"  "bzzt" "280"  "281"  "bzzt" "bzzt" "284"  "bzzt" "286"  "287"  "bzzt" "289"  "290"  "bzzt" "292"  "bzzt" "bzzt" "295"  "296"  "bzzt" "298"  "299"  "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "400"  "401"  "bzzt" "bzzt" "404"  "bzzt" "406"  "407"  "bzzt" "409"  "410"  "bzzt" "412"  "bzzt" "bzzt" "415"  "416"  "bzzt" "418"  "419"  "bzzt" "421"  "422"  "bzzt" "424"  "425"  "bzzt" "427"  "428"  "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "bzzt" "440"  "bzzt" "442"  "bzzt" "bzzt" "445"  "446"  "bzzt" "448"  "449"  "bzzt" "451"  "452"  "bzzt" "454"  "455"  "bzzt" "457"  "458"  "bzzt" "460"  "461"  "bzzt" "bzzt" "464"  "bzzt" "466"  "467"  "bzzt" "469"  "470"  "bzzt" "472"  "bzzt" "bzzt" "475"  "476"  "bzzt" "478"  "479"  "bzzt" "481"  "482"  "bzzt" "484"  "485"  "bzzt" "487"  "488"  "bzzt" "490"  "491"  "bzzt" "bzzt" "494"  "bzzt" "496"  "497"  "bzzt" "499"  "500"

যেহেতু অনেকগুলি স্ট্রিং অপারেশন ফাংশন (যেমন strsplit) নন-অক্ষরগুলি খাওয়ানো হলে ত্রুটি নিক্ষেপ করে আমিও ধরে নিয়েছিলাম grepl। চমৎকার ধরা! +1
প্ল্যানাপাস

2
যাইহোক আপনি যেহেতু এটি একটি অভিব্যক্তিতে কমিয়েছেন আপনাকে তার bআগে সংজ্ঞা দেওয়ার দরকার নেই :a=1:500;a[grepl(3,a)|!a%%3]='bzzt';a
প্ল্যানাপাস

3

ফরট্রান - 118 114 111

প্রত্যাশিত সম্ভাবনাযুক্ত প্রার্থী, যদিও মূলত পঞ্চ কার্ডগুলিতে ফিট করার জন্য বিকশিত হয়েছিল। অতীত থেকে সমস্ত অস্পষ্ট নির্মাণ ব্যবহার করে কিছু শর্ট কোড এখনও লেখা যেতে পারে:

do3 i=1,500
j=i
if(mod(i,3))2,1,2
1 print*,'bzzt'
cycle
2 goto(1)mod(j,10)-2
j=j/10
if(j>0)goto2
3 print*,i
end

"গণিত গোটো" goto(L1,L2,...,Ln) xL লেবেলগুলির মধ্যে একটিতে শাখাগুলি যদি কেবল 1 <= x <= n হয় তবে।

সম্পাদনা করুন: 3 সংখ্যাটি যাচাই করে এমন লুপটি পুনরায় সাজিয়ে 4 বাইট মুণ্ডিত করার ব্যবস্থা করা হয়েছে বোনাস হিসাবে, কোডটিতে এখন গাণিতিক if-বিবৃতিও রয়েছেif(x) a,b,c , যা সবসময় তিনটি লেবেল এক শাখা: একটি যদি এক্স <0, খ যদি x == 0 বা সি যদি x> 0 হয়।

দুর্ভাগ্যক্রমে, প্রথম দুটি সংস্করণ সঠিক আউটপুট উত্পাদন করে নি। অঙ্ক -৩ লুপটি এখন সঠিকভাবে কাজ করে এবং কোডটিতে এখন একটি আধুনিক লজিকাল যদি-বিবৃতিও অন্তর্ভুক্ত থাকে। আরও তিনটি বাইট গেছে, কারণ কার enddoস্টেটমেন্ট দরকার? আউটপুট এখানে যাচাই করা যেতে পারে ।

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