বিগ বেন চলে গেল


45

আপনার কাজটি এমন একটি প্রোগ্রাম তৈরি করা যা বিগ বেন (টুইটার) নকল করা ।

কার্য

যখনই কোনও নতুন ঘন্টা শুরু হয়েছে (আপনার কম্পিউটারের স্থানীয় সময় বা ইউটিসি অনুসারে), আপনাকে BONGবারবার আউটপুট দিতে হবে hour(শব্দের মধ্যে একটি স্পেস সহ)। উদাহরণস্বরূপ, যখন এটি 3 ও 'ঘড়ি হয় তখন আপনাকে আউটপুট দিতে হয় BONG BONG BONG। সময় বিন্যাসটি 12-ঘন্টা সময় বিন্যাস অনুসরণ করে, অর্থাৎ 12 ঘন্টা পরে, আমাদের 1 আছে এবং 13 নেই The প্রোগ্রাম / ফাংশনটি চিরতরে চলতে হবে।

উদাহরণ:

বন্ধনীগুলির ভিতরে স্টাফ আউটপুট করবেন না

(start: 00:34 for example)
BONG               (01:00)
BONG BONG          (02:00)
(...)
BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG (12:00)
BONG               (01:00 again)
(...)
(it continues forever)

বিধি

  • এর প্রতিটি সিরিজ BONGঅবশ্যই একটি নতুন লাইন দ্বারা পৃথক করা উচিত
  • শীর্ষস্থানীয় / চলমান নিউলাইনগুলি অনুমোদিত
  • তবে নেতৃস্থানীয় / trailing স্পেস হয় না দেয়া
  • জমা দিতে হবে চিরকাল
  • আপনার আউটপুটটি প্রারম্ভ হতে পারে hour 3 ঘন্টা শুরু থেকে সেকেন্ড
  • আপনি কোনও নির্দিষ্ট সময়ে প্রোগ্রামটি চালানোর জন্য ধরে নিতে পারবেন না

এটি , তাই সংক্ষিপ্ততম বাইটকাউন্টের সাথে প্রোগ্রামটি জয়ী!



3
12/24 এর জন্য আমরা 0 টি বা 12 টি মুদ্রণ করব?
মাল্টেসেন

6
চ্যালেঞ্জের জন্য +1 যা উত্সর্গীকৃত কোড-গল্ফিং ভাষার দ্বারা সহজে আধিপত্য করা যায় না।
ফিলিপ

2
1859 এর আগে সিস্টেম ঘড়িটি ক্ষতবিক্ষত হলে প্রোগ্রামটি কীভাবে আচরণ করা উচিত?
আমনি কিলুমঙ্গ

3
পরীক্ষার জন্য কেউ LD_PRELOAD হ্যাক ওভাররাইডিং টাইম ফাংশন ব্যবহার করতে পারে: github.com/vi/timeskewTIMESKEW="60 1"মিনিট কয়েক সেকেন্ডের মতো প্রবাহিত করে।
vi।

উত্তর:


2

05 এ বি 1 ই , 43 বাইট

3600žcžb60*+->Lvw}["BONG "ža<12%>×,5°36*.W]

এটি অনলাইন চেষ্টা করুন! (লোল এটি কাজ করবে না, এটি 60 সেকেন্ডের মধ্যে শেষ হয়ে যাবে this এর জন্য 05AB1E ইন্টারপ্রেটার ডাউনলোড করুন )

ব্যাখ্যা:

3600žcžb60*+->                          # Get amount of seconds (plus one) until next hour
              Lvw}                      # Wait said amount of seconds
                  [                     # Infinite loop start
                   "BONG "ža<12%>×,     # Print "BONG " multiplied by the amount of hours (12-hour clock)
                               5°36*.W  # Wait an hour (3600000 milliseconds)
                                      ] # Infinite loop end  

গল্ফ করতে আমার এই সময় লাগল! আমি এটি আরও কিছুটা গল্ফ করতে সক্ষম হতে পারি তবে এটি মারধর করে *><>, তাই দুর্দান্ত :)

দ্রুত সংস্করণ:

1Uw["BONG "X<12%>×,wX>U]

শুরুতে এক সেকেন্ড অপেক্ষা করবে এবং এক সেকেন্ডে বিওংগুলির মধ্যে থাকবে


বিলম্বের জন্য দুঃখিত, অবশেষে আমি আপনার প্রোগ্রামটি স্থানীয়ভাবে চালাতে পেরেছি। ভাল হয়েছে, এটি একটি এশোলংয়ের জন্য বিশেষত ভাল!
ক্রিটিকি লিথোস

18

ব্যাশ, 71, 70, 69 বাইট

সম্পাদনাগুলি:

  • কিছুক্ষণ ঘুমের ব্যবধান গণনা অনুকূলিতকরণ, -1 বাইট;
  • Xargs, -1 বাইট (ধন্যবাদ @ jrtc27!) দিয়ে ব্যাকটিকগুলি প্রতিস্থাপন করা হয়েছে।

Golfed

sleep `date +3600-%s%3600|bc`;yes BONG|sed $(date +%I)q|xargs;exec $0

ব্যাখ্যা

#Compute the number of seconds left in the current hour and wait.
sleep `date +3600-%s%3600|bc`; 

#Print "hour" (1-12) worth of "BONG" strings, one per line,
#use xargs to merge them into a single space-separated string.
yes BONG|sed $(date +%I)q|xargs

#Re-execute itself (in the same process).
exec $0

পরীক্ষার সংস্করণ

কয়েক ঘন্টার পরিবর্তে মিনিট নিয়ে কাজ করে

sleep `date +60-%s%60|bc`;yes BONG|sed $(date +%I)q|xargs;exec $0

2
@zeppeIin আমি আপনাকে উপাসনা করার প্রাথমিক লক্ষ্য নিয়ে এই সম্প্রদায়টিতে যোগদান করেছি। আপনার সমাধানটি yes BONG|sed 12q
চুপচাপ কৌতূহলে

@neonzeon ঘেউ :)
জেপেলীন্

এক্সগার্সে পাইপ করে আপনি প্রতিধ্বনিটি বন্ধ করে 1 বাইট তৈরি করতে পারেন, এটি ডিফল্টরূপে প্রতিধ্বনি বলে। পাইকারের জন্য 1 + জার্গজের জন্য - 5 ব্যাকটিক্সের জন্য - 4 প্রতিধ্বনের জন্য - 1 স্থানের জন্য = -1 বাইট।
jrtc27

@ jrtc27 এটি একটি দুর্দান্ত পরামর্শ! ধন্যবাদ !
জেপেলিন

8

*> <> , 48 47 44 বাইট

>s?um?uhc%:?!c21.O
v$o" GNOB"oooo$1-:?!
\aofS

এখানে চেষ্টা করুন! ( বা এই সংস্করণ যা পরীক্ষার জন্য প্রতি মিনিটে এটি করে )

এটি BONGকত ঘন্টা হয় তার উপর ভিত্তি করে স্পেস দ্বারা পৃথক করে একটি সংখ্যা আউটপুট দেয় (এবং 13 টি 1, ইত্যাদি)। ফাইনালের পরে কোনও পিছনে স্থান নেই BONGএবং সেখানে একটি পিছনের নতুন লাইন রয়েছে।

প্রযুক্তিগতভাবে এটি চিরকাল চলবে না (তবে এটি মূলত হয়)। এটি প্রতিদিন ~ 28 বাইট ফাঁস করে (দোভাষী ওভারহেড উপেক্ষা করে ...)। এটি 1 জিআইবি ফাঁস হতে 105062 বছর লাগবে।

দোভাষী ওভারহেডের জন্য আনুমানিক, স্ট্যাকটি float64গোলং দোভাষীতে কেবল একটি টুকরো । তাই আমি কেবল 28*8প্রতিদিন 224 বাইট নিয়ে আসতে পারি । আমি এই সংখ্যাটি একটি গিবিবিতে (1073741824) এর বাইট সংখ্যা দ্বারা বিভক্ত করেছি তারপরে 365 অনুমান করে যে 1 জিআইবি ফাঁস হতে 13132.85 বছর লাগবে।

দোভাষী সম্পর্কে নোট

অনলাইন দোভাষী জাভাস্ক্রিপ্টে রয়েছে। পৃষ্ঠাগুলি এটি বর্তমানে যে সময়টি রয়েছে তা পরীক্ষা করতে এবং ব্যাঙ্গগুলি আউটপুট করতে অবশ্যই এটি অবশ্যই খোলা এবং দৃশ্যমান হতে হবে। Golang অনুবাদক ধরনের কোনো সীমাবদ্ধতা রয়েছে।

ব্যাখ্যা

Main loop:

s?um?u          O     if seconds == 0 && minutes == 0:
      hc%               push hours % 12 (bongs) to the stack
         :?!c           if bongs is 0, push 12 to the stack
             21.        jump to "output bongs" coords (2, 1)


Output bongs:

Begins at `"` because of the jump.

   " GNOB"            push "BONG " to the stack
          oooo        output "BONG"
              $1-     subtract 1 from bongs
v                :?!  if bongs == 0, move to "newline and sleep"
 $o                   output " "


Newline and sleep:

\                     mirror the IP to the right
 ao                   output a newline
   fS                 sleep for 1.6s
\                     mirror to main loop

অনলাইনে ভাষার অনুবাদকের জন্য স্থানীয় সময় অঞ্চল কী? কারণ যখন আমার জন্য একটি নতুন ঘন্টা এসেছিল, তখন তা কিছুই আউট করে না
ক্রিতিক্সি লিথোস

@ ক্রিটিক্সিলিথোস, দুর্ভাগ্যক্রমে অনলাইন দোভাষী এর জন্য পৃষ্ঠাটি কাজ করার জন্য অবশ্যই উন্মুক্ত এবং দৃশ্যমান হতে হবে। আমি মনে করি এটি জাভাস্ক্রিপ্ট / ব্রাউজারের সীমাবদ্ধতা। এটি অনলাইনে থাকার বিষয়ে আপনার দুশ্চিন্তার দরকার নেই বা দোভাষী নিজেই জাভাস্ক্রিপ্টে রয়েছে বলে আপনি নিজেরাই এটি ডাউনলোড করতে পারতেন! গোলং দোভাষী যদি কিছু না-ই থাকুক কাজ করেন। অসুবিধার জন্য দুঃখিত, আমি পরিষ্কার করে উত্তরটি সম্পাদনা করব।
redstarcoder

1
এই চ্যালেঞ্জ জিতে অভিনন্দন! এই চ্যালেঞ্জটি সম্পন্ন করার জন্য এটিই একমাত্র গল্ফিং-ল্যাং এবং এটি চিত্তাকর্ষক :)
ক্রিটসি লিথোস

@ ক্রিটিক্সিলিথোস ধন্যবাদ !! এটি আমি প্রথম জিতলাম এটিই প্রথম চ্যালেঞ্জ: ডি
রেডস্টারকোডার

7

জাভাস্ক্রিপ্ট (ES6), 99 93 বাইট

f=_=>setTimeout('alert("BONG ".repeat(new Date/36e5%12|0||12).trim(f()))',36e5-new Date%36e5)

এটি ইউটিসি সময় ব্যবহার করে (যা প্রকৃত জিনিসের সাথে সীমাবদ্ধ)। কোডটির অদম্য প্রকৃতির কারণে আপনি নিম্নলিখিতটি চেষ্টা করতে পারেন যা একই জিনিসটি করে তবে প্রতি 60 সেকেন্ডে:

f=_=>setTimeout('alert("BONG ".repeat(new Date/36e5%12|0||12).trim(f()))',6e4-new Date%6e4)

f()

এখানে একটি বোনাস 99-বাইট সংস্করণ যা স্থানীয় সময় ব্যবহার করে:

f=_=>setTimeout('alert("BONG ".repeat(new Date().getHours()%12||12).trim(f()))',36e5-new Date%36e5)

এই (স্নিপেট) alertপ্রতি মিনিটে আমার জন্য (তবে এর সংখ্যাটি BONGসঠিক) তবে প্রোগ্রামটি প্রতি ঘন্টা কেবল আউটপুট দেওয়ার কথা
ক্রিটিক্সী লিথোস

@ ক্রিটিক্সিলিথোস "কোডটির অদম্য প্রকৃতির কারণে আপনি নিম্নলিখিতগুলি চেষ্টা করতে পারেন যা একই কাজ করে তবে প্রতি 60 সেকেন্ডে:" ;-)
ইটিএইচ প্রোডাকশনগুলি

6

জাভাস্ক্রিপ্ট (ES6), 125 123 117 115 বাইট

5 বাইট সংরক্ষণের জন্য @ Flp.Tkc ধন্যবাদ!

আরও 2 টি বাইট সংরক্ষণের জন্য @ বেনআস্টনকে ধন্যবাদ!

a=eval(b=`(new Date).getHours()`);setInterval(w=>eval(b)!=a?console.log(Array(++a%12+1).join`BONG `.trim()):"",1e3)

নাস্তা স্নিপেট

a=eval(b=`(new Date).getHours()`);setInterval(w=>eval(b)!=a?console.log(Array(++a%12+1).join`BONG `.trim()):"",1e3)


1
@ বেনআস্টন তা লক্ষ করার জন্য ধন্যবাদ :)
ক্রিটসি লিথোস

1
@ বেনআস্টন এটি প্রথম সেমি-কোলোন ছাড়া কাজ করে না
ক্রিটিক্সী লিথোস

5

ব্যাচ, 142 বাইট

@timeout/t>nul 1
@if not %time:~3,5%==00:00 %0
@set/ah=-%time:~0,2%%12
@set s=............
@call set s=%%s:~%h%%%
@echo %s:.=BONG %
@%0

যেহেতু ফাইলটি অসীম লুপ হিসাবে চলে, তাই আমি বন্ধুত্বের পরে যেভাবেই আমার একটি প্রয়োজন হিসাবে আমি 1s বিলম্ব দিয়ে শুরু করি এবং এটি সিপিইউ চক্রগুলি সংরক্ষণ করে। >nulএকটি বাইট (সংরক্ষণ যত্নসহকারে অবস্থিত 1>nul1 কারণ হবে ফেরৎ দ্বারা খাওয়া যায়)। মিনিট এবং সেকেন্ড উভয়ই শূন্য না হওয়া পর্যন্ত আমরা লুপ করব। নেতিবাচক ঘন্টা মডুলো 12 গ্রহণ করে এবং h12-বর্ণের স্ট্রিং থেকে শেষ অক্ষরগুলির জন্য জিজ্ঞাসা করে এই বন্ধনগুলি তৈরি করা হয় । hশূন্য যখন এটি আসলে আমাদের পুরো স্ট্রিং দেয়, সুতরাং 12 বন্ধন ongs এরপরে শব্দটির সাথে অক্ষরগুলি প্রতিস্থাপন করা যথেষ্ট BONG। রান করার সময় এটির মতো কিছু দেখায় (নোট করুন যে চিত্রটি লুপ হয় না, তাই আপনাকে অ্যানিমেশনটি আবার দেখতে বাধ্য করতে-পুনরায় লোড করতে হবে):

নমুনা আউটপুট


আপনি কি এটির চলমান এবং আউটপুটিংয়ের একটি জিআইএফ সরবরাহ করতে পারেন?
ক্রিটসি লিথোস

1
@ ক্রিতিক্সিলিথস আপনি এখানে যা খুঁজছেন তা নিশ্চিত নয়; আমি ঘন্টা আগে এবং পরে থেকে স্ক্রিনশট নিতে পারি এবং অ্যানিমেটেড জিআইএফ-তে 11 মিনিট পর্যন্ত বিলম্ব যোগ করতে পারি তবে কীভাবে এটি প্রমাণিত হয় তা আমি দেখতে পাচ্ছি না।
নীল

আমি একটি জিআইএফের জন্য জিজ্ঞাসা করছি কারণ আমি এটি আমার কম্পিউটারে এটি পরীক্ষা করতে পারছি না (এটি একটি ম্যাক)
ক্রিটসি লিথোস

@ ক্রিটিক্সিলিথোস কিছু এই ঠিক আছে?
নীল

যথেষ্ট ভাল, আমি আপনার শব্দটি এটির জন্য নেব :)
ক্রিটসি লিথোস

5

বাশ + লিনাক্স ক্রন্টব, 90

আমি আশা করছিলাম যে এটি অন্যান্য শেল উত্তরের চেয়ে কম হবে। তবুও, আমি মনে করি এটি একটি আকর্ষণীয় পদ্ধতির:

for i in {0..11};{
s+=\ BONG
echo "0 $i,$[i+12] * * * echo$s>/proc/$PPID/fd/1"
}|crontab -

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

সতর্কতা - এটি বিদ্যমান যে কোনও ক্রন্টব্যাক এন্ট্রি সাফ করবে, সুতরাং আপনার বিদ্যমান ব্যাক আপ রয়েছে তা নিশ্চিত করুন।

এটি উবুন্টু 16.04-এ কাজ করে, যা ডিফল্টভাবে ভিক্সি ব্যবহার cronকরে।


আমি এটি চালিয়ে কিছু "মেল" পেয়েছি। আমি যখন মেলটি চেক আউট করি তখন BONGপ্রয়োজনের চেয়ে আরও একটি ছিল ।
কৃতিক্সী লিথোস

পুনঃটুইট আপনি কোন লিনাক্স ডিস্ট্রো ব্যবহার করছেন? আপনি কোনটি cronব্যবহার করছেন?
ডিজিটাল ট্রমা

আমি ম্যাকের উপর আছি, অপেক্ষা করুন, এটি লিনাক্স নয়
ক্রিটিক্সী লিথোস

@ ক্রিতিক্সিলিথোস ইয়ুপ ;-)। এই উত্তরটি লিনাক্সের উপর নির্ভর করে /proc/<PID>/fd/<N>
ডিজিটাল ট্রমা

3

রুবি, 112 99 বাইট

loop{sleep 2;n=Time.now;if(n.min==0);puts ('BONG '*n.strftime('%I').to_i).chop;sleep 60-n.sec end}

পুরাতন রুপ

loop{sleep(2);n=Time.now; if(n.min.zero?) then puts ('BONG ' * n.strftime('%I').to_i).chop;sleep(60-n.sec) end}

টিপস জন্য QPAYTaxes ধন্যবাদ


@ Flp.Tkc ওহ হ্যাঁ, ভাল ধরা! শেষ চরিত্রটি মুছতে ভুলে গেছেন
যতীন ধনখর

আমি রুবি জানি না, তবে প্রোগ্রামটি অবশ্যই নতুন ঘন্টা শুরুর 3 সেকেন্ডের মধ্যে আউটপুট দেয়। আমি মনে করি না sleep(60)এটি ঘটেছিল
ক্রিটসি লিথোস

@ ক্রিটিক্সিলিথোস আমরা প্রতি 3 সেকেন্ডের জন্য প্রোগ্রামটি ঘুমোতে পারি এবং তারপরে ক্যাকুলেশন লুপ করতে পারি -> প্রতি 3 সেকেন্ডে জাগ্রত করুন; সময় পরীক্ষা করুন এবং স্টাফ করবেন?
যতীন ধনখার

@ যতিনধাঁখার বা আপনি এটি 2 সেকেন্ডের জন্য ঘুমিয়ে তুলতে পারেন (কেবলমাত্র শ্বাস প্রশ্বাসের কিছু জায়গা দেওয়ার জন্য)
ক্রিটসি লিথোস

@KritixiLithos হ্যাঁ, ধন্যবাদ চেয়ে 2 সেকেন্ডের পরিবর্তন উপার্জন
যতীন Dhankhar

3

চেডার ভি 1.0.5, 162 বাইট

চেড্ডারের কোনও বিল্ট-ইন টাইম রিডার / সেন্টিমিটার আউটপুট রিডার নেই, তাই আমাকে ইমপ্রুভ করতে হয়েছিল!

Golfed:

var f=->{IO.exec("time/t>c");(String::IO.read("c")).split(":")};var a=f()[0];for(;1;){var b=f();if(b[0]!=a){var c=Number::(a=b[0]);print("BONG "*c).head(5*c-1);}}

Ungolfed:

var f=->{
    IO.exec("time/t>c");
    (String::IO.read("c")).split(":")};
var a=f()[0];
for(;1;){
    var b=f();
    if(b[0]!=a){
        var c=Number::(a=b[0]);
        print("BONG "*c).head(5*c-1);
    }
}

ব্যাখ্যা:

চেদার সীমাবদ্ধ স্ট্যান্ডার্ড লাইব্রেরির কারণে সময় তৈরি করতে আমাকে সেন্টিমিডি ব্যবহার করতে হয়েছিল। আমি "টাইম / টি" এর আউটপুট সংরক্ষণ করে এটি করেছি, যা সময়টি 12-ঘন্টা বিন্যাসে "সি" নামের একটি ফাইলে মুদ্রণ করে। আইও.রেড এমন একটি বাফার প্রদান করে যা আমি একটি স্ট্রিতে কাস্ট করেছি এবং ":" দ্বারা বিভক্ত হয়েছি যা নিশ্চিত করেছে যে ঘন্টাটি সর্বদা সূচক শূন্যের মধ্যে থাকে। আমি পুরো অপারেশনটি ল্যাম্বডা এক্সপ্রেশনে সংরক্ষণ করেছি যা আমাকে 44 বাইট সংরক্ষণ করেছিল। এই বিন্দুটির পরে এটি "যদি সঞ্চিত ঘন্টা বর্তমান সময়ের সমান না হয়, আগের ঘন্টাটিকে বর্তমানের জন্য সেট করুন এবং বিওআং এন বার মুদ্রণ করুন, পিছনের স্থানটি ছাঁটাই করুন" "

চেদার কমপক্ষে ভার্জোজ ভাষা নাও হতে পারে তবে এই জাতীয় কাজের সন্ধান করা মজাদার হতে পারে!

দুঃখের বিষয় এটি একটি উইন্ডোজ-কেবল সমাধান।

সম্পাদনা 1: "0 <1" প্রতিস্থাপনের জন্য "1" এর পরিবর্তে দুটি বাইট সংরক্ষণ করা আমি 1 টি এই ভাষায় সত্য বলে মূল্যায়ন করার আশা করিনি!


3

রুবি, 82 81 বাইট

loop{l=Time.new
puts ("BONG "*(l.hour%12+1)).chop if(l+1).hour!=l.hour
sleep 1}

প্রতি সেকেন্ডে আমরা এটি ঘন্টার শেষ সেকেন্ডে কিনা তা পরীক্ষা করে দেখি এবং সেই অনুসারে BONG। কিছু নোংরা কৌশল দ্বারা সম্ভবত আরও গল্ফ করা যেতে পারে, তবে আমি খুব বেশি জানি না। এছাড়াও এটি অন্য রুবির উত্তরের চেয়ে আলাদাভাবে কাজ করে।

কিউপেসট্যাক্সের সৌজন্যে একটি বাইট সংরক্ষিত হয়েছে।


রুবিতে toোকা দরকার। গল্ফিংয়ের জন্য পাইথনের চেয়ে এটি কিছুটা কম ভারবোজ বলে মনে হচ্ছে।
এলপেড্রো

আপনার অবিলম্বে স্থান প্রয়োজন if?
নিক হার্টলি

@ কিপ্যায়েস টেক্সস আমি না, আপনাকে ধন্যবাদ। আমি জায়গাটি putsসম্পর্কে ভুলে যাওয়ার পরে আমি খুব উন্মাদ হয়ে পড়েছিলাম।
বোরসুনহো

3

পাইথন 2 , 105 106 বাইট

import time
h=0
while 1:
 l=time.localtime();c=l[3]%12
 if l[4:6]==(0,0)and h!=c:print('BONG '*c)[:-1];h=c

সম্পাদন করা

@ পিঙ্কফ্লোয়েডএক্স 33 এর প্রতিক্রিয়ার পরে <টু! = পরিবর্তন করে একটি বাইট যুক্ত করা হয়েছে। ভাল জায়গা।

স্থানীয়ভাবে যতটা সম্ভব পরীক্ষিত কিন্তু টিআইওতে কাজ করে না কারণ এটি (স্পষ্টতই) execution০ সেকেন্ডের এক্সিকিউশন সীমা ছাড়িয়ে গেছে। স্থানীয়ভাবে পরীক্ষা করতে নির্দ্বিধায় দয়া করে :-)

বিটিডব্লিউ, এই পেস্কি ট্রেলিং স্পেসটি হারাতে আমার জন্য 7 বাইট খরচ হয়েছে অন্যথায় এটি 100 এর নিচে হত।

টিআইওর অনুপস্থিতিতে এখানে এক ঘন্টা অপেক্ষা করার পরে আউটপুট পাওয়া যায়। প্রিন্টের সময়টি (12 ঘন্টা ফর্ম্যাট) প্রদর্শনের জন্য অতিরিক্ত ডিবাগ কোড দিয়ে 15:27 এ শুরু হয়েছিল।

python bigben.py
time is 4:0:0
BONG BONG BONG BONG
time is 5:0:0
BONG BONG BONG BONG BONG

খুব সোজা কিন্তু এখানে আগ্রহী যে কেউ তার ব্যাখ্যা এখানে।

import time                 #Import the time module
h=0                         #Create a variable to store the hour that has just been printed
while 1:                    #Loop forever
 l=time.localtime()         #Get the local time from the time module
 c=l[3]%12                  #Set a variable to the current hour in 12 hour format
 if l[4:6]==(0,0)and h!=c:   #If minutes=0 and hours=0 and the last hour that was printed is not the current hour
  print "time is "+`c`+":"+`l[4]`+":"+`l[5]`    #Debug code to show hour
  print('BONG '*c)[:-1]     #Print 'BONG '*number of hours and lose the space from the end 
  h=c                       #Update the last hour that was printed

1
মিনিটগুলি 0: l [4] == 0 এবং এইচ <সি হয় কিনা আপনি তা পরীক্ষা করতে পারেন।
Carra

এখন যেহেতু আমি এটি ভাবছি, আপনি যদি 20:00:01 এ টাইমারটি শুরু করেন তবে ছোট সমস্যা আছে problem মিনিটগুলি শূন্য, সেকেন্ডের হবে না এবং এটি ছড়িয়ে দেওয়া মুদ্রণ করবে
কেরা

আমি স্থানীয়ভাবে এটি
চালানোর

@ ক্রিটিক্সিলিথোস আপনি কেন আউটপুট পান না ধারণা নেই। আমি উবুন্টু 14 এবং পাইথন 2.7.9 এ আছি। আরও আলোচনার জন্য এটিকে চ্যাটে নিতে চান?
এলপেড্রো

2
11 ঘন্টা-> 12 ঘন্টা থেকে এই কাজ করে? (12% 12 = 0)? মনে হচ্ছে 11>0, তাই h>cবা আমি কিছু মিস করছি?
গোলাপিফ্লোয়েডএক্স 33

3

পাইথন 3 - 100 97 92 বাইট

from time import*
while 1:x=3600;sleep(x-time()%x);print(('BONG '*int(strftime("%I")))[:-1])[:-1])

ব্যাখ্যা:

import time;
while 1:
 t=time;x=3600;
 t.sleep(x-t.time()%x);#sleep for the remaining seconds until the next hour
 print(('BONG '*int(t.strftime("%I")))[:-1])#strftime("%")=nr of hours (1-12). Print the bongs and remove the last char

from time import*<NL>while 1:x=3600;sleep(x-time()%x);print(('BONG '*int(strftime("%I")))[:-1]) 93 বাইট
রোমান গ্রাফ

আমি মনে করি না প্রথম লাইনের শেষে আপনার সেমিকোলন দরকার।
নিক হার্টলি

পিছনে সরানো;
কারা

92 বাইট যদি আপনি না from time import*মত, এই
FlipTack

টিপ দেওয়ার জন্য ধন্যবাদ, আমি এটি যুক্ত করেছি। পাইথন সম্পর্কে প্রতিদিন নতুন জিনিস শিখুন :)
Carra

2

সি, 238 বাইট

#include<time.h>
#include<unistd.h>
i,j;f(){time_t t=time(0);struct tm l=*localtime(&t);for(;;){t=time(0),l=*localtime(&t),j=l.tm_hour;sleep(1);if(!(l.tm_min+l.tm_sec)){j=j%12?j<12?j:j-12:12;for(i=0;i<=j;i++)printf("BONG%c",i^j?32:10);}}}

এটি সঠিকভাবে কাজ করে কিনা তা আমি নিশ্চিত নই এবং আমি মোবাইল, এবং আমার ফোনে সি সংকলক নেই। (শুধুমাত্র ইউনিক্স-এর মতো সিস্টেমে কাজ করে)


এটি চেষ্টা করার সময় এটি অসীম আউটপুট (
নিউলাইনস

@ ক্রিটিক্সিলিথোস হ্যাঁ, আমি যে অংশটি আর ব্যবহার করি না তা সরিয়ে দিতে আমি ভুলে গিয়েছি। আপনি কি 7 মিনিটের মধ্যে পরীক্ষা করতে পারেন? :)
betseg

fএর বদলে main? এটি কীভাবে কাজ করার কথা?
থমাস প্যাড্রন-ম্যাকার্থি

1
@ থমাস প্যাড্রন-ম্যাকার্থি আমি মোটামুটি নিশ্চিত যে পুরো প্রোগ্রামের বিপরীতে কোনও ফাংশন সরবরাহ করা ঠিক আছে।
নিক হার্টলি

2

sh, 66 বাইট

yes 'echo `yes BONG|sed $(date +%I)q`'|sh -s|awk '$0!=a&&a;{a=$0}'

ব্যাখ্যা

#Pipe a command into a subshell repeatedly
yes 'some command'|sh -s

#Print "hour" (1-12) worth of "BONG" strings, one per line,
#use backticks to merge them into a single space-separated string.
#(stolen from zeppelin's answer)
echo `yes BONG|sed $(date +%I)q`

#Print every time the output changes
awk '$0!=a&&a;{a=$0}

প্রোগ্রামটি চালুর সাথে সাথে এই মুদ্রণগুলি করা হয়, এটি করা উচিত নয়। প্রোগ্রামটি কেবল তখনই আউটপুট দিতে হবে যখন একটি নতুন ঘন্টা শুরু হয়েছে
ক্রিতিক্সি লিথোস

একই সমস্যাটি এখনও উপস্থিত রয়েছে
ক্রিটিকি লিথোস

পছন্দ করুন আমার কাছে কেবল আপডেট এবং বাইট গণনা ছিল, আসল কোড নয়।
রেইনার পি।

এখন যা কিছু বাকি আছে তা আমার এই মুহুর্তে এটি পরীক্ষা করার জন্য
ক্রিতিক্সি লিথোস

@KritixiLithos প্রতিস্থাপন %Iসঙ্গে %Mএবং এটি মিনিটের জন্য কাজ করে।
রেইনার পি।

1

সি, 198 বাইট

#import<time.h>
h,i;f(){time_t t=time(0);struct tm l=*localtime(&t);for(h=l.tm_hour;;t=time(0),l=*localtime(&t))if(h-l.tm_hour%12){h=l.tm_hour%12;for(i=h?h%12:12;--i;)printf("BONG ");puts("BONG");}}

1

জাভাস্ক্রিপ্ট ES6 87 বাইট

সম্পাদনা: new Date/36e5%12|0||126 বাইট সংরক্ষণের জন্য নির্লজ্জভাবে @ETHProductions এর কোড ধার করা হয়েছে

setInterval('Date().match`:00:00`?alert("BONG ".repeat(new Date/36e5%12|0||12)):5',1e3)


1

আর, 104 105 বাইট

f=format;repeat{Sys.sleep(1);q=Sys.time();if(f(q,"%M%S")=="0000")print(rep("BONG",as.double(f(q,"%I"))))}

প্রতিটি সেকেন্ডে, এটি পরীক্ষা করা উচিত (আমরা) এক ঘন্টা শেষে আছি কিনা, তারপরে সেই পরিমাণ BONGগুলি প্রিন্ট করুন ।


প্রোগ্রামটি চলাকালীন কখন এই প্রোগ্রামটি আউটপুট হবে 12:00:01?
কৃতিক্সিত লিথোস

আমি আর জানি না, তবে প্রোগ্রামটি অবশ্যই নতুন ঘন্টা শুরুর 3 সেকেন্ডের মধ্যে আউটপুট দেয়। আমি সত্যিই নিশ্চিত নই Sys.sleep(60)যে এটি ঘটে কিনা
ক্রিটসি লিথোস

আপনি while(1)দ্বারা প্রতিস্থাপন করতে পারেন repeat
প্ল্যানাপাস

সংক্ষিপ্ততার জন্য ঘুমের ব্যবধানটি অবশ্যই সময়টির পরে সময়ের অতিরিক্ত সময়ের চেয়ে কম হওয়া উচিত। কীভাবে সিস.স্লিপ (2)?
নিউকোডার

1
@ নিউকোডার প্রতিটি লুপ এটি এখন 1 সেকেন্ডের জন্য ঘুমায়, কারণ অন্যথায় এটি BONGকেবল একবারের পরিবর্তে 1 সেকেন্ডের জন্য মুদ্রণ করবে । এটি প্রতি সেকেন্ডে একবারে চেক করে তা নিশ্চিত করা।
জেএডি

1

জাভাস্ক্রিপ্ট ES2015, 100 99 98 96 94 88 বাইট

h=_=>new Date/36e5%12|0,p=h();for(;;)h()!=p&&(p=h(),alert('BONG '.repeat(p||12).trim()))

ব্যাখ্যা:

hএকটি ফাংশন যা বাকী অপারেটর ( %12) ব্যবহার করে দিনের 12 ঘন্টা ভিত্তিক ঘন্টা পায় । 36e5অক্ষর সংরক্ষণের জন্য সূচকীয় বাক্য গঠন ব্যবহার করে এক ঘন্টার মধ্যে মিলিসেকেন্ডের সংখ্যা। newঅপারেটর প্রয়োজন হয় না যে প্রথম বন্ধনী ফাংশন সঙ্গে ব্যবহৃত হয় যদি কোন যুক্তি আছে, অত: পর new Date। জাভাস্ক্রিপ্টের কেবল ভাসমান পয়েন্ট গণিত রয়েছে, |বিটওয়াইস বা অপারেটর সংখ্যাকে একটি পূর্ণসংখ্যার জন্য বাধ্য করে কারণ জেএস বিটওয়াইস অপারেটরগুলি আইইইই 754 ভাসমান পয়েন্ট দ্বারা প্রতিনিধিত্ব করা সংখ্যার পূর্ণসংখ্যার সাবসেটের সাথে কাজ করে।

কমা উপ-এক্সপ্রেশনগুলি বর্ণিত করে। pবর্তমান ঘন্টা ( p=h()) এ শুরু করা হয়।

for(;;)কোনও BONGএসকে সতর্ক করা উচিত কিনা তা বারবার পরীক্ষা করতে ব্যবহৃত হয় । রানটাইম যেমন অনুমতি দেবে তত দ্রুত পরীক্ষা করা হয়।

যদি ঘন্টাটি পরিবর্তিত হয় ( h()!=p), তবে আমরা p আপডেট করব এবং তারপরে সতর্কতা অবলম্বন করব BONG। লজিক্যাল অ্যান্ড অপারেটরটি গার্ড হিসাবে ব্যবহার করা হয় (এটি শর্ট সার্কিট যদি হয় h()===p) তা নির্ধারণ করতে BONGs গুলি আউটপুট কিনা ।

String.prototype.repeatES2015 এ নতুন এবং ES5 এর মতো কিছু ব্যবহার করে কিছু অক্ষর সংরক্ষণ করে Array.prototype.join

h12 এর সঠিক গুণকগুলির জন্য শূন্য প্রদান করে (যেমন রাত 12 টা, 12 টা), তাই আমরা যুক্তিযুক্ত ওআর ব্যবহার করে এটিকে 12 এ পরিবর্তন করি p||12

ধারণাগুলির জন্য কৃতিক্সী লিথোস এবং ইটিএইচ প্রডাকশনকে ধন্যবাদ জানাই।


আমি মনে করি আপনি শেষ সেমি-
কোলনটি

1

এক্সেল ভিবিএ, 143 বাইট

ভিবিই ইমিডিয়েট উইন্ডোতে কোড আউটপুট

Sub b:Do:n=Now
If Minute(n)=0 Then:s="":For i=1To Hour(n) Mod 12:s=s &"BONG ":Next:Debug.?Trim(s):Application.Wait n+#0:1#:End If:Loop:End Sub

মজার সংস্করণ, ১৪৩ বাইট (প্রতিযোগিতা না করা)

বরং এটা সীমা অতিক্রম করা Bong যেতে পাওয়া কঠিন হবে, তাহলেও এটি বেশ সহজ সীমা অতিক্রম করা যেতে পেতে হয় BeepBeepকলের জন্য একটি দেয়া হল শব্দ ও ঘন্টা ইঙ্গিত উত্পাদন বিপ শব্দ এই ব্যবহারের জন্য নিচের কোড, ঘন্টা, 1 সেকেন্ড পড়ল যতি দ্বারা পৃথক করে।

উপরের মতো এটিও এই কোডটিকে অ্যাক্সেসব্রতহীন বলে :DoEventsমনে করে এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করার সাথে সাথে প্রথম লাইনের শেষে একটি কল যুক্ত করার পরামর্শ দেওয়া হয়, তবে সঠিক কোড কার্যকর করার জন্য এটি প্রয়োজনীয় নয়।

Sub b:Set a=Application:Do:n=Now
If Minute(n)=0 Then:For i=1To Hour(n) Mod 12:Beep:a.Wait(Now+#0:0:1#):Next:a.Wait(n+#0:1#):End If:Loop:End Sub

অবহেলিত সংস্করণ

Public Sub BigBen()
    Dim i As Byte
    Dim n As Date
    Dim w As Worksheet
    Dim a As Excel.Application
    Set a = Application
    Set w = a.ThisWorkbook.Sheets(1)
    Let w.Name = "Big Ben"

    Let w.[A1] = Now
    w.Columns("A:A").AutoFit

    Do
        DoEvents
        Let n = Now
        If Minute(n) = 0 Then

            ''  Print BONG
            Let s = ""
            For i = 1 To Hour(n) Mod 12 Step 1
                Let s = s & "BONG "
            Next i
            Debug.Print Trim(s)

            ''  Go Beep
            For i = 1 To Hour(n) Mod 12 Step 1
                Beep
                a.Wait (Now + #12:00:01 AM#) ''  <- #0:0:1# resolves to #12:00:01 AM#
            Next i

            ''  Keep Ticking After Going BONG
            While Now < n + #12:01:00 AM#    ''  <- #0:1# resolves to #12:01:00 AM#
                Let w.[A1] = Now
                Let a.StatusBar = IIf(Second(Now) Mod 2, "Tick", "Tock")
                DoEvents
            Wend
        End If

        ''  Tick Tock until its time to Go BONG again
        Let a.StatusBar = IIf(Second(n) Mod 2, "Tick", "Tock")
        Let w.[A1] = Now
    Loop

End Sub

উইন্ডোজবিহীন কম্পিউটারে এটি পরীক্ষা করা কি সম্ভব? যদি তা না হয়, নতুন ঘন্টা শুরু হওয়ার পরে আপনি কি আউটপুটটির একটি জিআইএফ সরবরাহ করতে পারেন?
ক্রিটিকি লিথোস

পুরোপুরি সত্য বলতে আমি অবিলম্বে নিশ্চিত নই। একটি লিনাক্স মেশিনে এই কোডটি পরীক্ষা করা সম্ভব হবে না তবে এটি একটি ম্যাকের সাথে সঠিকভাবে কাজ করা উচিত । যাইহোক, এটি হতে পারে যে Beepবা DoEventsকলগুলি ম্যাক মেশিনগুলিতে সঠিকভাবে কাজ করে না।
টেলর স্কট

0

সি # 234 বাইট

আমি এখানে কোনও পুরষ্কার জয়ের পরিকল্পনা করছি না, তবে একটি সি # বাস্তবায়ন বাধ্যতামূলক।

using System;
using System.Linq;namespace B{class P{static void Main(){Func<int> h=()=>DateTime.Now.Hour % 12;var p=h();while (true){var t=h();if (t!=p)Console.WriteLine(string.Concat(Enumerable.Repeat("BONG",t== 0?12:t)));p=t;}}}}

মন্তব্যে অসম্পূর্ণ:

using System;
using System.Linq;

namespace B
{
    class P
    {
        static void Main()
        {
            Func<int> h = () => DateTime.Now.Hour % 12; // h(): the hour in the range [0, 11], making this a lambda saves a few chars
            var p = h(); // p: Previous time
            while (true)
            {
                var t = h(); // t: Current time
                if (t != p) // If current hour is different to previous hour
                    Console.WriteLine(string.Concat(Enumerable.Repeat("BONG", t == 0 ? 12 : t))); // Print "BONG" t times (also correcting t = 0 to 12)
                p = t; // Current time is now previous time
            } // Repeat ad nauseum
        }
    }
}

1
ব্যবহার করুন for(;;), পরিবর্তন করুন h=()=>1+(DateTime.Now.Hour-1)%12;(কোনও শ্বেতক্ষেত্রের নোট রাখবেন না) এবং তারপরে গণনা করুন epপরিচিত হয়ে যায় ("BONG",t)(আপনাকে দুটি বা তিনটি বাঁচায়) তারপরে অতিরিক্ত শ্বেত স্পেস থেকে মুক্তি পান if(...)Also এছাড়াও নোট করুন এটি সমস্ত বাঁকগুলি একত্রিত করে মুদ্রণ করবে, সম্ভবত এই বাইট সঞ্চয়গুলি সংক্ষিপ্ত রূপে পরিণত করার জন্য নিন প্রথম আর্গুমেন্ট হিসাবে একটি স্থান সহ।
গোলাপফ্লোয়েডএক্স 33

0

গ্রোভি, 72 বাইট

{x={new Date().getHours()};y=x();while(1){if(y!=(y==x()){print "BONG "*y}}​}​​​

কিভাবে?

বর্তমান সময় পেতে একটি পদ্ধতি সঞ্চয় করুন।

x={new Date().getHours()};

প্রাথমিক ঘন্টা সঞ্চয় করুন।

y=x();

সত্য হিসাবে, যদি বর্তমান ঘন্টা পূর্ববর্তী ঘন্টা সমান না হয় তবে আউটপুট বর্তমান ঘন্টা "BONG" দ্বারা গুণিত বর্তমান চলমান ঘন্টাকে গুণবে।

while(1){if(y!=(y==x()){print "BONG "*y}}

%12অ-সামরিক বন্ধনের জন্য +3 বাইট ।


0

পার্ল, 60 বাইট

হালনাগাদ

প্রতিস্থাপিত " "সঙ্গে $"সরানো CORE::সংশোধন গণনা।

গলফ

say join$",(BONG)x(time/3600%12||12)while sleep -time%3600+1

এটি দিয়ে চালানো দরকার perl -E

মন্তব্য

  • পার্ল ইন, x while yসমান while(y){x}(যেখানে xএকক বিবৃতি) তবে বন্ধনীগুলির প্রয়োজন হয় না। sleepকিছু মুদ্রণের আগে প্রথমবার কার্যকর করা হয়।
  • timeইউটিসি ব্যবহার করে। আসল বিগ বেন গ্রীষ্মের সময় (ব্রিটিশ গ্রীষ্মকালীন সময়, বিএসটি) মার্চ শেষে থেকে অক্টোবরের শেষ পর্যন্ত হয়।
  • প্রোগ্রামটি কমপক্ষে এক সেকেন্ডের জন্য অপেক্ষা করে তা নিশ্চিত করার জন্য এক সেকেন্ড অপেক্ষা করার সময় যুক্ত করা হয়। এর অর্থ এই যে বিঙ্গগুলি সর্বদা এক সেকেন্ড দেরিতে ছাপা হবে যা নিয়ম অনুসারে আইনী। ধরা যাক আপনি ওয়েস্টমিনস্টার ব্রিজে দাঁড়িয়ে আছেন, সিএ। বিগ বেন থেকে 300 মি। প্লাস পাশের, এর অর্থ হ'ল প্রোগ্রামটি যদি এক ঘন্টার ঠিক শুরুতে (3600 সেকেন্ড অপেক্ষা না করে) শুরু করা হয় তবে সঠিক পরিমাণে BONGs মুদ্রণ করবে।
  • sleepপ্রতীক্ষিত সেকেন্ডের সংখ্যা ফিরে আসে। এটি সর্বদা সত্য হবে।

1
2 জিনিস। 1 , আমি নিশ্চিত যে -Eপতাকাটি +1 বাইট (পতাকা মাপার কোথাও একটি পৃষ্ঠা আছে ...)। 2 , আমি নিশ্চিত না যে এটি কীভাবে চালানো perl -E golf.plযায় ততক্ষনে অবসান ঘটে appears
redstarcoder

0

কিউবিআইসি , 82 বাইট

X=$left$|(_d,2){Y=left$$|(_d,2)~Y<>X|x=!Y!%12~x=0|x=12]B=C[x|B=B+@BONG |]?_tB|]X=Y

কোড ল্যাটারালগুলির জন্য সত্যই টোকেন পরিবর্তন করতে হবে ( $) এবং একটি স্ট্রিং বৈশিষ্ট্য ( left$(x,y)সংক্ষিপ্ত হতে পারে) প্রয়োগ করতে হবে।

অভ্যন্তরীণ কাজগুলি:

In the first part, we want to set X$ to the hour-component
of our system's time. The DATE is implemented in QBIC, but
Substring (LEFT$, RIGHT$ and MID$ in QBasic) is not (yet).
We need to use the QBasic LEFT$ function, and QBIC can do 
that using a 'code literal': everything from '$' to '|'
is not parsed by QBIC but passed on to QBasic.
X=               Set X$ to
$left$|(         the leftmost (note the '$' and '|' for the code literal)
_d,2)            2 characters of TIME$ (hh:mm format)
{                DO - infinite loop
Y=left$$|(_d,2)  Set Y$ in the same way
~Y<>X            If Y$ is not equal to X$ the hour has changed
|x=!Y!%12        THEN set x to the modulo 12 of Y$ cast to number
~x=0|x=12]       If Y% happens to be divisible by 12, set x to 12
B=C              Clear B$ (c$ never gets assiged a value)
[x|B=B+@BONG |]  For the given number of hours, add "BONG " to B$
?_tB|            Print B$, trim the trailing space
]                end if
X=Y              Update X$
<DO LOOP is implicitly closed>

আপডেট (এনসি): $এটি আর কিউবিআইসি নির্দেশ নির্দেশে আর ব্যবহৃত হয় না, সুতরাং এখন কোড আক্ষরিক প্রয়োজন ছাড়াই এটি কিউবাসিকের কোড হিসাবে নির্বিঘ্নে ব্যবহার করা যেতে পারে। এই ক্ষেত্রে, এটি 4 বাইট সংরক্ষণ করে, QBIC কে 78 বাইটে এনেছে:

X=left$(_d,2){Y=left$(_d,2)~Y<>X|x=!Y!%12~x=0|x=12]B=C[x|B=B+@BONG `]?_tB|]X=Y

0

স্মাইলব্যাসিক, 74 67 বাইট

WAIT 61TMREAD OUT H,M,S?("BONG"+" BONG"*((H+11)MOD 12))*!(M+S)EXEC.

বৃহত পরিমাণে "ট্রেলিং" লাইন ব্রেকগুলি আউটপুট দেয়;)

সম্পাদনা করুন: আরও ভাল 24-> 12 ঘন্টা অ্যালগরিদম সহ 7 বাইট সংরক্ষণ করা হয়েছে।


0

পিএইচপি, 63 বাইট

আমি বর্ধিত এএসসিআইআই দিয়ে আরও দুটি বাইট সঞ্চয় করতে পারি। তবে আমি বর্তমানে এটির জন্য খুব অলস।

for(;;sleep(1))+date(is)?:print str_pad("
",5*date(h),"BONG ");

পুরো ঘন্টাটিতে অবিকল একটি শীর্ষস্থানীয় লাইনব্রেকের সাথে বিঙ্গগুলি মুদ্রণ করে। সাথে চালাও -nr


আপনাকে ফ্লাইটগুলি আপনার বাইটেকউন্টে অন্তর্ভুক্ত করতে হবে
ক্রিটিক্সী লিথোস

পুনঃটুইট -nএক ধরণের অন্তর্নিহিত (এড়িয়ে php.and ডিফল্ট কনফিগ মান ফিরে আসবে); -rপিএইচপি কে কোনও ফাইলের পরিবর্তে কমান্ড লাইন প্যারামিটার থেকে কোড চালনা করতে বলে।
তিতাস

আহ, আমার খারাপ, আমি পিএইচপি জানি না।
ক্রিটসি লিথোস

0

সি, 152

int a=0,i,L=25;main(){char s[9];for(i=-1;++i<48;){sprintf(s,"%02i:00:00",i);if(!strcmp(s,__TIME__)&&i!=L)a=L=i,i=-1;printf(a-->0?"BONG ":"\n");}main();}

রিডেবল:

int a=0,i,L=25;

main(){
    char s[9];
    for(i=-1;++i<48;){
        sprintf(s,"%02i:00:00",i);
        if(!strcmp(s,__TIME__)&&i!=L)
            a=L=i,i=-1;
        printf(a-->0?"BONG ":"\n");
    }
    main();
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.