অবরুদ্ধ FizzBuzz গল্ফ [বন্ধ]


50

সংক্ষিপ্ততম অস্পষ্ট FizzBuzz বাস্তবায়ন তৈরি করুন।

অবহেলিত হিসাবে বিবেচনা করার জন্য, এটি নিম্নলিখিতগুলির মধ্যে কমপক্ষে একটি সন্তুষ্ট করা উচিত:

  1. "ফিজ", "বাজ" বা "ফিজবজ" শব্দগুলির কোনওটি নেই
  2. 3, 5, বা 15 সংখ্যাটি ধারণ করে না।
  3. উপরের যে কোনও একটি বিভ্রান্তিকর উপায়ে ব্যবহার করুন।

মনে রাখবেন: লক্ষ্যটি সংক্ষিপ্ত এবং অনুসরণ করা শক্ত।

কোড নমুনা যা এই প্রশ্নকে অনুপ্রাণিত করে:

public class Default
{
        enum FizzBuzz
        {
            Buzz = 1,
            Fizz,
            FizzBuzz
        }
        public static void Main(string[] args)
        {
            byte[] foo = 
              Convert.FromBase64String("IAmGMEiCIQySYAiDJBjCIAmGMEiCIQySYA==");
            MemoryStream ms = new MemoryStream(foo);
            byte[] myByte = new byte[1];
            do
            {
                FizzBuzz fb;
                ms.Read(myByte, 0, 1);
                for (int i = 0; i < 4; i++)
                {
                    fb = (FizzBuzz)(myByte[0] >> (2 * i) 
                         & (int)FizzBuzz.FizzBuzz);
                    Console.Out.WriteLine( (((int)fb > 0) ? "" + fb : "" 
                         + ((ms.Position - 1) * 4 + i + 1)));
                }
            } while (ms.Position < ms.Length);
        }
}

আপনি কিভাবে আবদ্ধ জানেন? আপনার সমাধানে আপনার এমএস. দৈর্ঘ্য রয়েছে তবে কিছু সমাধানে এ জাতীয় কোনও বাঁধা নেই ...
Labo

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

উত্তর:


25

গল্ফস্ক্রিপ্ট, 75 69 65 60 59 অক্ষর

100,{)6,{.(&},{1$1$%{;}{4*35+6875*25base{90\-}%}if}%\or}%n*

সুতরাং, আপনি কি মনে করেন যে নিজেই গল্ফস্ক্রিপ্টটি ইতিমধ্যে আবদ্ধ, তাই না? ঠিক আছে, অনুমানটি অনুসরণ করতেই আমি সিদ্ধান্ত নিয়েছি যে প্রোগ্রামটিতে "ফিজ", "গুজ" বা 3, 5 বা 15 সংখ্যা নেই: :-)

হ্যাঁ, 25, 35, 90, 100, এবং 6875 এর মতো 5 এর গুণক সহ কিছু সংখ্যা রয়েছে they সেগুলি কি লাল রঙের হেরিংস? তুমি ঠিক কর. ;-)


2
যদিও আমি আমার অন্যান্য সমস্ত গল্ফস্ক্রিপ্ট জমা দেওয়ার জন্য মন্তব্য লিখেছি, কেউই এর জন্য আসবে না। যুক্তি : chat.stackexchange.com/transcript/message/436819#436819 :-D
ক্রিস জেস্টার-ইয়ং

3 এবং 5 নম্বরগুলি আপনার কোডটিতে উপস্থিত হয়, তাই এটি সঠিক নয় !!!
লাবো

@ লাবো কেবল তিনটি মানদণ্ডেই সন্তুষ্ট হওয়া দরকার। প্রশ্নটি আবার পড়ুন। :-)
ক্রিস জেস্টার-ইয়ং

এটা কি একটা কৌতুক ? আমি বেশ কয়েক ঘন্টা ব্যয়! যদিও আমি এখনও 58 টি চর লম্বা পাইথন কোডটি পরিচালনা করতে পেরেছি
ল্যাবো

4
@ ল্যাবো: আমি 3 এবং 5 সংখ্যাটি দেখতে পাচ্ছি তবে 3 এবং 5 নম্বরের নয়
ডেভিড ওঙ্গারো

65

জাভাস্ক্রিপ্ট 97 টি অক্ষর - মোটেই সংখ্যা নেই

নম্বর? আপনার জাভাস্ক্রিপ্ট থাকলে কার নাম্বার দরকার!

a=b=!![]+![],a--,c=b+b;while(++a)e=!(a%(c+c+b)),alert(!(a%(c+b))?e?"FizzBuzz":"Fizz":e?"Buzz":a);

দ্রষ্টব্য: একটি অসীম লুপ রয়েছে যা আপনাকে ক্রমটি সতর্ক করবে।

বোনাস (6 666 অক্ষর)

  • নম্বর নেই
  • কোনও চিঠি নেই (কেবলমাত্র zforপুরো স্ক্রিপ্টে ব্যবহৃত হয়েছে)

_=$=+!![];$__=((_$={})+'')[_+$+_+$+_];__$=((![])+'')[$];_$_=((_$={})+'')
[_+$+_+$+_+$];____=[][$__+((_$={})+'')[$]+(($)/(![])+'')[$]+$__+__$+_$_];$__$=(!![]+"")
[$+$+$]+([][(![]+"")[$+$+$]+(+[]+{})[$+$]+(!![]+"")[$]+(!![]+"")[+[]]]+"")[($+$)+""+
($+$+$)]+(![]+"")[$]+(![]+"")[$+$];$_$_=____()[$-$][$__$]("\"\\"+($)+($+$+$+$+$+$+$)+
($+$)+"\"");_$=(![]+'')[$-$]+([][[]]+[])[$+$+$+$+$]+$_$_+$_$_;$_=(_+{})[$+$+$]+(!![]+'')
[_+$]+$_$_+$_$_;_--,$$=$+$;____()[$-$][$__$]((![]+"")[+[]]+(+[]+{})[$+$]+(!![]+"")[$]+
"(;++_;)$$$=!(_%("+($$+$$+$)+")),____()[+[]][__$+((![])+'')["+($+$)+"]+((!![])+'')["+
($+$+$)+"]+((!![])+'')[+!![]]+_$_](!(_%("+($$+$)+"))?$$$?_$+$_:_$:$$$?$_:_);");

18
রিয়েল প্রোগ্রামারদের কোড ঠিক দ্বিতীয়টির মতো।

9
@ এম 28: হ্যাঁ চাকরির সুরক্ষা তৈরি করার একটাই উপায় ... 'কারণ এই কোডটি বজায় রাখতে পারে এমন কাউকে খুঁজে পাওয়া সহজ জিনিস হবে না।
অ্যান্ডি

1
আপনি এর জন্য উইন্ডো ["eval"] ('"\\' + 1 + 7 + 2 + '' ') ব্যবহার করতে পারেন z
ন্যাব

3
@stevether এটা টাইপ রূপান্তর অপব্যবহারের সম্পর্কে বেশিরভাগই এর (উদা .: +!![]হিসাবে একই 1এবং ({}+"")[5]সমান c) এবং পদ্ধতি অ্যাক্সেস করতে অ্যারে স্বরলিপি অপব্যবহারের (উদা .: window['eval'](একই eval()।
HoLyVieR

1
উপযুক্ত চরিত্রের গণনা যদি আমি কখনও দেখেছি।
ক্যাপচার্যাগ

26

পাইথন - 78 টি অক্ষর

i=0
while 1:i+=1;print"".join("BzuzzizF"[::2*j]for j in(-1,1)if 1>i%(4+j))or i

1
আপনি সেখানে কী করেছেন তা বুঝতে 10 মিনিট সময় নিয়েছেন। সুন্দর এবং পাকান।
ট্রুফা

23

পোস্টস্ক্রিপ্ট, 96 বাইট

তাই নিরবচ্ছিন্ন মনে হচ্ছে এলোমেলো আবর্জনার মতো।

1<~0o0@eOuP7\C+tf6HS7j&H?t`<0f>,/0TnSG01KZ%H9ub#H@9L>I=%,:23M].P!+.F6?RU#I;*;AP#XYnP"5~>cvx exec

ব্যবহার: $ gs -q -dNODISPLAY -dNOPROMPT file.ps


5
আমি বাজি ধরতে পারি যে পাসের diehard
KaoD

23

সি ++: 886 অক্ষর

আমি 'ফিজ' এবং 'বাজ' লুকানোর চেষ্টা করেছি। আপনি তাদের স্পট করতে পারেন?

#include <iostream>
#define d(a,b) a b
#define _(a,b) d(#b,#a)
#define b(b) _(b,b)
#define y _(i,f)c
#define x _(u,b)c
#define c b(z)
#define i int
#define p main
#define s char
#define q 810092048
#define h for
#define m 48
#define a ++
#define e ==
#define g 58
#define n 49
#define l <<
#define oe std::cout<<
#define v '\n'

int  p   (i,  s*t     ){i   j  =   q;h   (*(
i    *     )    t     =  m  ;  2     [     t
]?   0    :    1      ??(   t  ]    ?     a
1    [   t    ]       e  g  ?  1   [     t
]    =   48,  ++0     ??(    t]e   g?0   ??(

t]=  n   ,1[  t]=
2    [     t    ]
=m   :    1    :
1    :   a    0
[    t   ??)  ==g

?0[   t  ]   =49   ,1[
t  ]  =  m     :     1
;j=   (  j    /     4
)  |  (  (   j     &
3)l    28)   )oe   (j&

3?j  &   1?j  &2?
y    x     :    y
:x   :    t    )
l    v   ;    }
i    f   =m&  ~g;

5
এটা আমার ব্রাঞ্জ বিস্মৃত।
মতিন উলহাক

2
আমি মনে করি আপনি ঝিল্লি বোঝাচ্ছেন
Korvin Szanto

16

ডিসি ( 256 255 বাইট)

এখানে, আমি চেষ্টা করেছি (বরং সফলভাবে, যদি আমি নিজেই বলতে পারি) চিঠিগুলি ব্যতীত অন্য কোনও কিছু গোপন করার জন্য, এবং +-[];:=(যা আবশ্যক এবং অবলম্বন করা অসম্ভব)। এটি আমার মেশিনে প্রায় 8482 বা আরও বেশি কিছু পাওয়ার পরে সেগফল্ট করে, তবে এটি পুনরাবৃত্তিটি যেভাবে প্রয়োগ করা হয় তার সাথে সম্পর্কিত স্ট্যাক ইস্যুগুলির সাথে কাজ করে। সমাধান নিজেই সঠিক। 255 বাইটস যদি আপনি শ্বেত স্থানটি সরিয়ে থাকেন (পড়ার স্বাচ্ছন্দ্যের জন্য অন্তর্ভুক্ত) উপভোগ করুন:

Izzzdsa+dsbrsc+dsdd+sozdsezzsm+s
nloddd++splbz++ddaso+dln-dstsqlm
d+-sr[PPPP]ss[IP]su[lpdlqlrlsxlu
x]lm:f[lpdltdI+lm+rlblm+-lsxlux]
ln:f[[]sulm;fxln;f[IP]sux]la:f[;
fsk]sg[lmlgx]sh[lnlgx]si[lalgx]s
j[lc[lcp]sklerldlolclerlblolcler
lalox=hx=ix=jlkxclcz+scllx]dslx

ডিসি জন্য +1। এমনকি নির্বিঘ্নে অবশ্যই, এটি বিশেষভাবে পাঠযোগ্য নয়
জেসি মিলিকান

12

এটি সূচকটি ব্যবহার করে এম্বেড করা কিছুটা মুশকিল ছিল তাই সংক্ষেপে:

রুবি, 4312 অক্ষর

https://gist.github.com/dzucconi/1f88a6dffa2f145f370f

eval("                                                 

















































                                                                                                                             ".split(/\n/).map(&:size).pack("C*"))

এটি কিভাবে কাজ করে?
অ্যাডিসন

._। এই জিনিসটি কীভাবে কাজ করে ...
TuxCraftting

"আপনার প্রোগ্রামের স্ট্রিং" .অনপ্যাক ("সি *") map মানচিত্র {| এক্স | "" * x} .জায়েন ("\ n")
ডিজুক

11

ব্রেইনফাক - 626 656

+[[>+>+<<-]>>>+++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]<[<+>>+<-]>>[-]+++>[
<<<+>>>-]>[-]<<<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]>>[-]<<<<[>+<-]>>>[<
<<+>>>-]<<[>>+<<-]<[>+>+<<-]>[<+>-]+>[<->[-]]<[>>>[-]>[-]<>+++++++[<++
++++++++>-]<.>+++++[<+++++++>-]<.+++++++++++++++++..[-]+<<<-]<[-]>>>[<
+<+>>-]<[>+<-]+<[>-<[-]]>[>>>[-]>[-]<>++++++[<+++++++++++>-]<.>+++++[<
++++++++++>-]<+.+++++..[-]<+<<-]>[-]>[<+<+>>-]<[>+<-]+<[>-<[-]]>[<<<<[
>+>>>>+<<<<<-]>[<+>-]>>>>>>--[<->+++++]<--<[->-[>+>>]>[+[-<+>]>+>>]<<<
<<]>[-]<-[>-<+++++]>--->>[<<[<+>>>+<<-]<[>+<-]>>>.[-]]++++++++++<[->-[
>+>>]>[+[-<+>]>+>>]<<<<<]>[-]<<[>+>>>+<<<<-]>>>>.[-]<<<[>>+<<-]>>.[-]<
<<<<-]<<<++++++++++.[-]<+]

1 থেকে 255 পর্যন্ত যায়


1
এটি বাস্তবে বাজেফিজ করে তোলে। এটি% 15 এর জন্য ফিজবুজকে সঠিক করে তোলে তবে এটি% 3 এবং% 5 এ অদলবদল করে। আমি এটি ঠিক করার চেষ্টা করতে পারি, তবে আপাতত আমার মস্তিষ্ক আনুষ্ঠানিকভাবে F'ed
ক্যাপচার্যাগ

2
30 টি ব্যয়ে স্থির করা হয়েছে effort প্রচেষ্টার সাথে এটি আরও গল্ফ করতে পারে তবে আমি ইতিমধ্যে এটিতে যথেষ্ট সময় নষ্ট করেছি।
ক্যাপচার্যাগ

9
"বর্জ্য" একটি শক্ত শব্দ ...
ক্লডিউ

10

ব্রেইনফাক, 708 টি অক্ষর

++++++++++[>++++++++++<-]>>++++++++++>->>>>>>>>>>>>>>>>-->+++++++[->++
++++++++<]>[->+>+>+>+<<<<]+++>>+++>>>++++++++[-<++++<++++<++++>>>]++++
+[-<++++<++++>>]>>-->++++++[->+++++++++++<]>[->+>+>+>+<<<<]+++++>>+>++
++++>++++++>++++++++[-<++++<++++<++++>>>]++++++[-<+++<+++<+++>>>]>>-->
---+[-<+]-<[+[->+]-<<->>>+>[-]++[-->++]-->+++[---++[--<++]---->>-<+>[+
+++[----<++++]--[>]++[-->++]--<]>++[--+[-<+]->>[-]+++++[---->++++]-->[
->+<]>>[.>]++[-->++]]-->+++]---+[-<+]->>-[+>>>+[-<+]->>>++++++++++<<[-
>+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>>++++++++++<[->-[>+>>]>[+[-<+>]>
+>>]<<<<<]>[-]>>[>++++++[-<++++++++>]<.<<+>+>[-]]<[<[->-<]++++++[->+++
+++++<]>.[-]]<<++++++[-<++++++++>]<.[-]<<[-<+>]+[-<+]->>]+[-]<<<.>>>+[
-<+]-<<]

এটি কীভাবে কাজ করে তার বর্ণনা আমার কোড পর্যালোচনা প্রশ্নে পাওয়া যায়


9

হাস্কেল - 147 142 138 টি অক্ষর

fi=zz.bu
bu=zz.(:).(++"zz")
[]#zz=zz;zz#__=zz
zZ%zz=zZ zz$zZ%zz
zz=(([[],[]]++).)
z=zipWith3(((#).).(++))(bu%"Fi")(fi%"Bu")$map show[1..]

কোডটি প্রয়োজন হওয়ার চেয়ে 19 অক্ষর দীর্ঘ, তবে আমি ভাবলাম যে নান্দনিকতা এটির জন্য উপযুক্ত! আমি বিশ্বাস করি তিনটি "উদ্দেশ্য" সন্তুষ্ট।

> take 20 z
["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14",
"FizzBuzz","16","17","Fizz","19","Buzz"]

হাই, আমি আপনার কোডটি বোঝার চেষ্টা করি, তবে আমি এটি চালাতে অক্ষম! ফাংশন zZ' is applied to six arguments, but its type (A0 -> B0 -> C0) -> [A0] -> [B0] -> [C0] মাত্র তিন রয়েছে
RobAu

এবং আমি, এটি চালাতে সক্ষম হয়ে, কেবল পেয়েছি ["1","2","3","4","5","6"...]
আরটিয়াম

স্থির - সঠিক সংস্করণটি এখনও আমার ডিস্কে ছিল ... অবশ্যই পাঠ্যটি ভুলভাবে আটকে রেখেছিল অনেক আগে!
এমটিএনভিউমার্ক

দয়া করে উল্লেখ করুন কীভাবে এটি 19 টি অক্ষর দ্বারা সংক্ষিপ্ত করা যায়, বা কোডটি দেখান। আমি কৌতূহলী এবং আমার কোনও ধারণা নেই
গর্বিত হাসেলেলার

আছে: 2 চিঠি নামের 19 occurrances হয় bu, fi, zz, এবং zZ। এগুলিকে একটি অক্ষরের নাম ছোট করা যেতে পারে।
এমটিএনভিউমার্ক

8

𝔼𝕊𝕄𝕚𝕟, 33 অক্ষর / 92 বাইট (অযৌক্তিক)

ѨŃ(1,ṥ)ć⇀ᵖɘƃ႖סР깜 #ē($%3⅋4,$%5?4:8)⋎$⸩

Try it here (Firefox only).

সীমাবদ্ধ উত্স চ্যালেঞ্জগুলির পক্ষে এই ভাষাটি খুব কার্যকর OP


6

জাভাস্ক্রিপ্ট, 469 বাইট

এটি সম্ভবত আমার সবচেয়ে মজা ছিল।

z=0;_=(function(){b=0;window[0xA95ED.toString(36)]((function(){yay="&F bottles of beer on the wall, &F bottles of beer. Take one down, pass it around, &z Bottles of beer on the wall.";return atob("eisrOyAg") + "console.log(((function(y){if((y%0xf)==0){return [1,72,84,84,86,78,84,84]}else if(y%0b11==0){return [1,72,84,84]}else if(y%0b101==0){return [86,78,84,84]}else{b=1;return [y]}})(z).map(function(x){return b==0?yay[x]:x}) ).join(''))"})())});setInterval(_,1000);

এখানে চেষ্টা করুন


ডাং, আমি ঠিক বুঝতে পেরেছিলাম যে উদ্দেশ্যটি হ'ল ছোট এবং অনুসরণ করা শক্ত ... ... দুঃখিত: পি
anOKsquirrel

+1 সংক্ষিপ্ততাটি হারিয়ে ফেলতে পারে, তবে কমপক্ষে আপনি সেখানে ফিজ গুঞ্জন
পাননি

4

রুবি - 165 টি অক্ষর

(1..100).each{|i|i%0xF==0? puts(["46697A7A42757A7A"].pack("H*")):i%(0xD-0xA)==0? puts(["46697A7A"].pack("H*")):i%(0xF-0xA)==0? puts(["42757A7A"].pack("H*")):puts(i)}

কোড গল্ফে এটি আমার প্রথম চেষ্টা ছিল। আমি অনেক মজা করেছি. =)


4

পার্ল 6 (52 বাইট)

say "Fizz"x$_%%(2+1)~"Buzz"x$_%%(4+1)||$_ for 1..100

আমাকে এখানে একটি ব্যাখ্যা রাখি। আমি এ জাতীয় কাজটি সবচেয়ে খারাপ নিয়মের অপব্যবহার করেছি। আমি জানি আপনি কী বলছেন - তা স্পষ্ট Fizzএবং Buzzএখানে রয়েছে। তবে আসুন নিয়মগুলি একবার দেখুন।

অবহেলিত হিসাবে বিবেচনা করার জন্য, এটি নিম্নলিখিতগুলির মধ্যে কমপক্ষে একটি সন্তুষ্ট করা উচিত :

এটি এড়ানো 3, 5এবং 15। অতএব, এটি বৈধ এবং সত্যই সংক্ষিপ্ত সমাধান।


3

স্কালা, 295 টি অক্ষর

object F extends Application{var(f,i,z)=("",('z'/'z'),"FBiuzzzz");while(i<(-'b'+'u'+'z'/'z')*('¥'/'!')){if(i%(-'f'+'i'/('z'/'z'))==0)f+=z.sliding(1,2).mkString;if(i%((-'b'+'u'+'z'/'z')/('f'/'f'+'i'/'i'+'z'/'z'+'z'/'z'))==0)f+=z.drop(1).sliding(1,2).mkString;if(f=="")f+=i;println(f);i+=1;f="";}}

3

সি ( 237 209 টি অক্ষর)

#include<stdlib.h>
#define e printf  
a=50358598,b=83916098,c=1862302330;_(m,n){return(m%((c&n)>>24))
||!(e(&n)|e(&c));}main(_);(*__[])(_)={main,exit};main(i){_(i,a)
&_(i,b)&&e("%i",i);e("\n");__[i>=100](++i);}

যদিও আমি নিশ্চিত নই যে এটি সি স্ট্যান্ডার্ডের সাথে সঙ্গতিপূর্ণ :)
এটি কাজ করে, যদিও। জিসিসি ব্যবহার করে লিনাক্সে, এটি।


3

পাইথন 3 - 338

import sys
def fibu():
        (F,I,B,U),i,u,z=sys._getframe(0).f_code.co_name,0xf,0xb,lambda x,y:x%((i//u)+(i^u))==u>>i if y>u else x%(((u<<(u>>2))&i)>>(u>>2))==i>>u
        A,RP = "",chr(ord(U)+((i//u)+(i^u)))*2
        for x in range(100):print(x if not (z(x,u)or z(x,i))else A.join((F+I+RP if z(x,u)else A,B+U+RP if z(x,i)else A)))
fibu()

এটি আমার প্রথম গল্ফ সংক্ষিপ্ততম নয়, তবে এটি বেশ কুৎসিত! নিষিদ্ধ সংখ্যা বা স্ট্রিং লিটারেলের কোনওটিই নয়। ফির্প, বার্প!


3

পাইথন - 157

from itertools import cycle as r
c=str.replace
[c(c(c(z+y,'x','fix'),'y','bux'),'x','zz').strip() or x for z,y,x in zip(r('  y'),r('    x'),range(1,101))]

খুব কম সংক্ষিপ্ত নয়, তবে আমি আশা করি পাঠক নির্বিচারে দীর্ঘ পরিমাপের বিশুদ্ধ কার্যকরী শৈলী এবং এক্সটেনসিবিলিটির প্রশংসা করবে।


3

কে, 155

{m:{x-y*x div y};s:{"c"$(10-!#x)+"i"$x};$[&/0=m[x]'(2+"I"$"c"$49;4+"I"$"c"$49);s"<`rs<pvw";0=m[x;2+"I"$"c"$49];s"<`rs";0=m[x;4+"I"$"c"$49];s"8lrs";x]}'!100

আমি এটি বেশ খানিকটা গল্ফ করতে পারতাম তবে আমি বরং এটি আরও অচল হয়ে পড়তাম।


3

পাইথন 2 - 54 টি অক্ষর

i=0
while 1:i+=1;print'FizzBuzz'[i%~2&4:12&8+i%~4]or i

পাইথন 3 - 56 টি অক্ষর

i=0
while 1:i+=1;print('FizzBuzz'[i%~2&4:12&8+i%~4]or i)

আপনি যদি না চান 'ফিজবজ' প্রদর্শিত হবে:

পাইথন 2 - 58 টি অক্ষর

i=0
while 1:i+=1;print' zzuBzziF'[12&8+i%~2:i%~4&4:-1]or i

পাইথন 3 - 60 টি অক্ষর

i=0
while 1:i+=1;print(' zzuBzziF'[12&8+i%~2:i%~4&4:-1]or i)

বা কীভাবে পাইথনের সাহায্যে গল্ফস্ক্রিপ্টকে পরাজিত করা যায়;)


প্রথম দুটি কিছুই করতে পারে না বলে i=0বোঝায় যে whileলুপটি কখনই প্রবেশ করে না entered
xnor

লল আমি আমার পরীক্ষার সংস্করণটি ব্যবহার করেছি, এতে শর্তটি রয়েছে i<20
Labo

তবে এখন এটি কাজ করে :)
Labo

আসল ফিজবজ সমস্যা অনুযায়ী এটি 100 এ থামানো উচিত নয়?
ডেভিড ওঙ্গারো

2

জাভাস্ক্রিপ্ট ১১১ টি অক্ষর - কোনও কী সংখ্যা নেই

a=b=c=0;while(a++<99)document.write((b>1?(b=0,"Fizz"):(b++,""))+(c==4?(c=0,"Buzz"):(c++,""))+(b*c?a:"")+"<br>")


2

সি # - 218 টি অক্ষর

using System;class D{static void Main(){int l,i,O=1;l++;string c="zz",a="fi",b="bu";l++;l++;i=l;i++;i++;for(;O<101;O++)Console.WriteLine(((O%l)>0&&1>(O%i))?a+c:(1>(O%l)&&(O%i)>0)?b+c:(1>(O%l)&&1>(O%i))?a+c+b+c:O+"");}}

আমি যদি এইরকম অন্যান্য সংখ্যার পরিচয় করিয়ে দিয়ে সংক্ষিপ্ত হতে পারি: (মোট ২১০ টি অক্ষর)

using System;class D{static void Main(){int l=1,i,O=1;string c="zz",a="fi",b="bu";l+=2;i=l;i+=2;for(;O<101;O++)Console.WriteLine(((O%l)>0&&1>(O%i))?a+c:(1>(O%l)&&(O%i)>0)?b+c:(1>(O%l)&&1>(O%i))?a+c+b+c:O+"");}}

স্পষ্ট শব্দ fizz এবং buzz মুছে ফেলার সিদ্ধান্ত নিয়েছে এবং আরও কিছুটা অবসন্নতার জন্য যায়। দ্বিতীয়টি প্রথমটির চেয়ে সংক্ষিপ্ত, তবে সংযোজনে কী ঘটছে তার চেয়ে কিছুটা বেশি সরাসরি।


2

এটি ঠিক গল্ফ নয়, এটি প্রায় 120 লাইন।

আমি ভেবেছিলাম আমি এমন কিছু করব যা সি ++ মেমরি পরিচালনার সাথে অপরিবর্তিত আচরণের সমস্ত মজাদার সম্ভাবনার সুযোগ নিয়েছে।

#include <iostream>
#include <string>

using namespace std;

class Weh;
class HelloWorld;

class Weh
{
public:

    string value1;
    string value2;
    void (*method)(void * obj);

    Weh();

    string getV1();

    static void doNothing(void * obj);
};

class HelloWorld
{
public:
    static const int FOO = 1;
    static const int BAR = 2;
    static const int BAZ = 4;
    static const int WUG = 8;

    string hello;
    string world;
    void (*doHello)(HelloWorld * obj);

    HelloWorld();

    void * operator new(size_t size);

    void tower(int i);
    const char * doTower(int i, int j, int k);

    static void doHe1lo(HelloWorld * obj);
};

Weh::Weh()
{
    method = &doNothing;
}

void Weh::doNothing(void * obj)
{
    string s = ((Weh *) obj)->getV1();
    ((HelloWorld *) obj)->tower(1);
}

string Weh::getV1()
{
    value1[0] += 'h' - 'j' - 32;
    value1[1] += 'k' - 'g';
    value1[2] += 'u' - 'g';
    value1[3] = value1[2];
    value2 = value1 = value1.substr(0, 4);

    value2[0] += 'd' - 'h';
    value2[1] += 'w' - 'k';
    value2[2] = value1[2];
    value2[3] = value1[3];

    return "hello";
}

void * HelloWorld::operator new(size_t size)
{
    return (void *) new Weh;
}

HelloWorld::HelloWorld()
{
    hello = "hello";
    world = "world";
}

void HelloWorld::doHe1lo(HelloWorld * obj)
{
    cout << obj->hello << " " << obj->world << "!" << endl;
}

void HelloWorld::tower(int i)
{
    doTower(0, 0, i);
    tower(i + (FOO | BAR | BAZ | WUG));
}

const char * HelloWorld::doTower(int i, int j, int k)
{
    static const char * NOTHING = "";
    int hello = BAR;
    int world = BAZ;
    int helloworld = FOO | BAR | BAZ | WUG;

    if ((hello & i) && (world & j))
        cout << this->hello << this->world << endl;
    else if (hello & i)
    {
        cout << this->hello << endl;
        cout << doTower(0, j + 1, k + 1);
    }
    else if (world & j)
    {
        cout << this->world << endl;
        cout << doTower(i + 1, 0, k + 1);
    }
    else
    {
        cout << k << endl;
        cout << doTower(i + 1, j + 1, k + 1);
    }

    return NOTHING;
}

int main()
{
    HelloWorld * h = new HelloWorld;
    h->doHello(h);
}

2

রুবি - 89 অক্ষর

puts (0..99).map{|i|srand(1781773465)if(i%15==0);[i+1,"Fizz","Buzz","FizzBuzz"][rand(4)]}

আমি এই উজ্জ্বলতার জন্য কৃতিত্ব নিতে পারি না, তবে আমি আমার প্রিয় অবহেলা বাস্তবায়ন ছাড়া এই প্রশ্নটি ছাড়তে পারি না :)

উপরের বাস্তবায়নটি ডেভিড ব্র্যাডি লিখেছেন এবং এটি ফিজবুজ রুবি রত্ন থেকে। উত্স কোড থেকে ব্যাখ্যা এখানে:

এই বিষয়টি ব্যবহার করুন যে রুবির র‌্যান্ডে বীজ 1781773465 ফিজবজ অগ্রগতিতে পুনরাবৃত্তি হওয়া 15-অঙ্কের ক্রম তৈরি করবে। এখানে ভিত্তিটি হ'ল আমরা চতুরতার সাথে অনুমানযোগ্য ক্রম সরবরাহ করতে চালাকি করতে চাই। (এটি লক্ষণীয় আকর্ষণীয় যে আমরা আসলে তথ্যের আকার হ্রাস পাই না। 15-অঙ্কের ক্রমটি বিট পেয়ার হিসাবে এনকোড করা যেতে পারে এবং 30-বিট সংখ্যায় সংরক্ষণ করা যায়। 1781773465 যেহেতু 31 বিট স্টোরেজ প্রয়োজন, তাই আমাদের চতুরতা রয়েছে প্রকৃতপক্ষে আমাদের স্টোরেজ দক্ষতার একটি ব্যয় করতে হবে NOT তবে এটি পয়েন্ট নয়!

রুবি - 87 অক্ষর

puts (0..99).map{|i|srand(46308667)if(i%15==0);["FizzBuzz","Buzz",i+1,"Fizz"][rand(4)]}

এখানে একটি পৃথক সংস্করণ যা একটি সংক্ষিপ্ত বীজ ব্যবহার করে তবে লুকিং টেবিলটি একটি ভিন্ন ক্রমে। উত্স কোড থেকে ব্যাখ্যা এখানে:

প্রথম বাস্তবায়ন (89 টি অক্ষর) 0 = ইন্টি, 1 = ফিজ, 2 = বাজ, 3 = ফিজবজের নির্দিষ্ট ক্রম মেনে চলে। যদি অর্ডার পরিবর্তন করা হয় তবে একটি ছোট কী খুঁজে পাওয়া সম্ভব। সম্ভাব্য ক্রম 24 আছে। যদি আমরা ধরে নিই যে অনুমতিগুলি 2 * 31 স্পেসে সমানভাবে বিতরণ করা হয়েছে এবং প্রায় 50% সম্ভাব্যতা যে এটি একটি "প্রায় অর্ধেক পথ" হয়, তবে আমরা একটি শালীন আত্মবিশ্বাসের সাথে ধরে নিতে পারি (20-50% বলুন) যে সেখানে রয়েছে 1.4e + 9 (2 * 28 এর নিচে ) এর আশেপাশে কোথাও কী এটি খুব বেশি লাভ নয় তবে এটি স্থানের 30 বিট কম তথ্য 30 বিট তথ্য "আড়াল" করতে র‌্যান্ডের পূর্বনির্ধারিত ক্রমটি উপস্থাপন করে।

ফলাফল: ক্রমানুসরণ [3,2,0,1] বীজ 46308667 এ উপস্থিত হয়, যা 26 বিটে সংরক্ষণ করা যেতে পারে।


2
খুব মিষ্টি তবে এতে আক্ষরিক "ফিজ", "বাজ" ইত্যাদি রয়েছে তাই নিয়ম অনুসারে বৈধ নয়
আর্নে ব্রাসিউর

2

পাইথন, 1 লাইন, 376 টি অক্ষর

pep8-E501 উপেক্ষা করা হয়েছে। শুধুমাত্র পাইথন 3 এ কাজ করে।

print(*((lambda x=x: ''.join(chr(c) for c in (102, 105)) + (2 * chr(122)) + ''.join(chr(c) for c in (98, 117)) + (2 * chr(122)) + '\n' if x % (30 >> 1) == 0 else ''.join(chr(c) for c in (102, 105)) + (2 * chr(122)) + '\n' if x % (6 >> 1) == 0 else ''.join(chr(c) for c in (98, 117)) + (2 * chr(122)) + '\n' if x % (10 >> 1) == 0 else str(x) + '\n')() for x in range(1, 101)))

2

বিকল্প রুবি (126 টি অক্ষর)

(1..100).map{|i|(x="\xF\3\5\1Rml6ekJ1eno=".unpack('C4m'))[-1]=~/(.*)(B.*)/
[*$~,i].zip(x).map{|o,d|i%d>0||(break $><<o<<?\n)}}

সংক্ষিপ্ত এবং অস্পষ্ট, ঠিক কীভাবে আমরা এটি পছন্দ করি। 3 এবং 5 আসলে সেখানে রয়েছে তবে পূর্ণসংখ্যার আক্ষরিক হিসাবে নয় তাই আমার মনে হয় এখনও এটি গণনা করা।

মনে রাখবেন এটি এখানে আক্ষরিক 'ফিজ', 'বাজ', 'ফিজবজ' ছাড়া সংক্ষিপ্ততম রুবি সংস্করণ।


1

স্কেক (৪.৪) স্মার্টটাক ২০al বাইট

|f i zz b u z|z:=''.b:=28r1J8D0LK. 1to:100do:[:o|0<(f:=(i:=(zz:=b\\4)//2*4)+(u:=zz\\2*4))or:[z:=z,o].b:=zz<<28+(b//4).z:=z,((z first:f)replaceFrom:1to:f with:28r1A041FHQIC7EJI>>(4-i*u*2)startingAt:1),'
'].z

বা কম স্পষ্ট বার্তা সহ একই অ্যালগরিদম, একই সংখ্যক অক্ষর

|l f i zz b u z|z:=#[].b:=36rDEB30W. 1to:100do:[:o|0<(f:=(i:=(zz:=b\\4)//2)+(u:=zz\\2)*4)or:[z:=z,('',o)].b:=zz<<28+(b//4).l:=36r2JUQE92ONA>>(1-u*i*24).1to:f do:[:k|z:=z,{l-((l:=l>>6)-1<<6)}].z:=z,'
'].'',z

আমি ছোট্ট টালকে যা করেছি তার জন্য আমি অ্যালান কেয়ের কাছে ক্ষমা চাইছি।
এর মধ্যে কয়েকটি হ্যাক স্মার্টটাক উপভাষাগুলি জুড়ে বহনযোগ্য, কারও কারও কাছে স্কেয়ক সামঞ্জস্যতা স্তর প্রয়োজন ...

মনে রাখবেন যে আপনি যদি কোনও ওয়ার্কস্পেসে চালিত করেন তবে আপনি ঘোষণাগুলি বাদ দিতে পারেন | ফাই জেডজ বুজ | এবং 14 অক্ষর অর্জন।

যদি আমরা 357 টি অক্ষর (একক বর্ণের বারের সাথে 315) বহন করতে পারি, তবে তুচ্ছ # এড়ানো ভাল: কর: লুপ:

|fizz buzz if f fi zz b u bu z|f:=fizz:=buzz:=0.z:=#[].b:=814090528.if:=[:i|i=0or:[fi:=28.zz:=27<<7+i.u:=26.(fizz:=[zz=0or:[z:=z,{(u:=u//2)\\2+1+(zz+((fi:=fi//2)\\2+2-(zz:=zz//8)*8)*4)}.fizz value]])value]].(buzz:=[(f:=f+1)>100or:[(fi:=(zz:=b\\4)//2*17)+(bu:=zz\\2*40)>0or:[z:=z,('',f)].b:=zz<<28+(b//4).if value:fi;value:bu.z:=z,'
'.buzz value]])value.'',z

1

লেআলের জন্য সাদা স্থান সহ হাস্কেল 226 বাইটস;)

z=[fI$ (++)            \ 
(fi zz 1 "Fi" )        \  
(fi zz 2 "Bu" )        \ 
:[show zz]  | zz<-[1..]]
fI (zZ:zz)  | zZ==[]   \
= concat zz | 1==1=zZ  
fi zZ bu zz | zZ%bu=   \
(zz++"zz")  | 1==1=[] 
bu%zz=mod bu (zz*2+1)==0

'রিয়েল' কোডটি 160 বাইট এবং সংকোচিত হতে পারে তবে ফিজ-বাজ-নেসটি হারাবে।

এটি চালান (চমৎকার আউটপুট জন্য):

putStrLn (unwords (take 20 z ))

আউটপুট:

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz 

0

পার্ল

use MIME::Base64;print map{map{(++$i,'Fizz','Buzz','FizzBuzz')[$_]."\n"}(3&ord,3&ord>>2,3&ord>>4,3&ord>>6)}split//,decode_base64"EAZJMIRBEgxhkARDGCTBEAZJMIRBEgxhkA"

একটি আমি ২০০৯ সালে তৈরি করেছি though যদিও এটি নির্ধারণ করা বেশ সহজ।

সম্পাদনা করুন: সাফ করুন, এটি "ফিজ" এবং "বাজ!" ব্যবহার করে :( আমি ভেবেছিলাম আমি এটি পরিবর্তন করেছি Never


0

সি 216 বাইট

#define t(b) putchar(p+=b);
main(p,v,c){p=70;for(v=c=1;v<=p*2-40&&!(c=0);++v){if(!(v%(p/23))){t(0)t(35)t(17)t(0)++c;}if(!(v%(p/(14+c*9)))){t(-56+!c*52)t(51)t(5)t(0);++c;}if(c){t(-112)p+=60;}else printf("%i\n",v);}}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.