লেগেন ... এর জন্য অপেক্ষা করুন ...


68

dary!

আশা করি পরের দু'দিনে আমার সাথে কী ঘটবে পুরোপুরি সম্পর্কহীন ইভেন্টগুলিতে , আমি আপনাকে নিম্নলিখিত কোডটি লিখতে কোড লিখি:

  1. ছাপা

    Legen... wait for it...
    

    তাত্ক্ষণিকভাবে, একটি পিছনে নতুন লাইনের সাথে।

  2. পরবর্তী পুরো ঘন্টা পর্যন্ত অপেক্ষা করুন (যখন ব্যাজ রান দেওয়ার জন্য ক্রোন জব হবে))

  3. ছাপা

    dary!
    

    একটি বিকল্প ilingচ্ছিক নতুন লাইনের সাথে।

অতিরিক্ত বিধি

  • আপনি কোনও প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন তবে আউটপুটটি STDOUT (অথবা এটি আপনার ভাষার নিকটতম বিকল্প) এ মুদ্রণ করতে হবে।

  • আপনাকে কেবলমাত্র 60 মিনিটের জন্য নয়, পরবর্তী পুরো ঘন্টা পর্যন্ত অপেক্ষা করতে হবে । কোডটি যদি 6:58 এ চালিত হয় তবে এটি দ্বিতীয় লাইনটি 7:00 এ প্রিন্ট করা উচিত।

  • শেষ লাইনটি পরবর্তী পুরো ঘন্টা পরে এক সেকেন্ডের পরে আর মুদ্রণ করা উচিত।

  • ইভেন্টটি যখন পুরো ঘন্টাটির প্রথম দ্বিতীয়টিতে শুরু হয় সে ক্ষেত্রে এটি পরবর্তী পুরো ঘন্টা অপেক্ষা করা উচিত।

  • আপনি স্থানীয় বা ইউটিসি সময় জিজ্ঞাসা করতে পারেন।

  • স্ট্যান্ডার্ড বিধি প্রযোজ্য।


1
তৃতীয় অতিরিক্ত নিয়ম কীভাবে "পরবর্তী পুরো ঘন্টা অবধি অপেক্ষা করুন" থেকে পৃথক হয় তা আমি বুঝতে পারি না
515

2
@ ফ্যাটালাইজ এটি কেবল একটি স্পষ্টতা যে আপনি মিনিট এবং সেকেন্ড উভয়ই 00 এ না হওয়া পর্যন্ত ঘন্টাটি পরিবর্তিত হওয়া পর্যন্ত অপেক্ষা করতে হবে ।
ডেনিস

25
হ্যাপি কিংবদন্তি ব্যাজ, @ ডেনিস!
ক্রিটসি লিথোস

36
@ ΚριτικσιΛίθος ধন্যবাদ! (ট্যাব সমাপ্তির জন্য god
ডেনিস

2
"এই মুহুর্তে" আপনি "পরবর্তী পুরো ঘন্টা" (কমপক্ষে আমেরিকান ইংরেজিতে) বলছেন তার বর্ণনা দেওয়ার আরও মানক (এবং আমি আরও স্পষ্ট বিশ্বাস করি) be
jpmc26

উত্তর:


12

পাইথ, 42 41

J.d6." wâ«­hÖ`Ùá©h´^"WqJ.d6;"dary!

নীচে কোডটির একটি হ্যাক্সডাম্প রয়েছে:

00000000  4a 2e 64 36 2e 22 20 77  0c 10 89 e2 ab 1b ad 68  |J.d6." w.......h|
00000010  0f 8c d6 60 d9 e1 a9 68  82 b4 5e 22 57 71 4a 2e  |...`...h..^"WqJ.|
00000020  64 36 3b 22 64 61 72 79  21                       |d6;"dary!|

@ আইসাককে ধন্যবাদ 1 বাইট সংরক্ষণ করা হয়েছে

.dস্থানীয় সময় সম্পর্কিত মানগুলি পেতে ফাংশনটি ব্যবহার করে । .d6বর্তমান ঘন্টা ফিরে। এটি প্রথম স্ট্রিংটি মুদ্রণ করে, তারপরে প্রোগ্রামটি শুরু হওয়ার সময়টির ঘন্টা থেকে আলাদা হওয়া পর্যন্ত অপেক্ষা করে এবং তারপরে দ্বিতীয় স্ট্রিংটি মুদ্রণ করে।

আপনার সাথে অনলাইনে চেষ্টা করে দেখতে পারেন .d7অথবা .d8মিনিট / সেকেন্ডের জন্য কিন্তু অনলাইন কম্পাইলার শুধুমাত্র কিছু ছাপে যখন প্রোগ্রাম বন্ধ।

অভিনন্দন, ডেনিস! :)


প্যাকড-আরআরটি ব্যবহার করে স্ট্রিংটি 1 বাইট দ্বারা সংকুচিত করা যায়। Hexdump:0000000: 2e22 2077 0c10 89e2 ab1b ad68 0f8c d660 ." w.......h...` 0000010: d9e1 a968 82b4 5e22 0a ...h..^".
isaacg

@ আইস্যাকগ ওফস, আমি এটি যাচাই করেছিলাম তবে আমার অবশ্যই গুনগুন করতে হবে। আমি ভেবেছিলাম এটি কেবল 1 বাইট সঙ্কুচিত হয়েছে তাই অতিরিক্ত .এটি একই দৈর্ঘ্যটি তৈরি করে।
নির্বোধ

এটি কী করতে পারে (কেবল পাইথের সাথে কোনও অভিজ্ঞতা ছাড়াই) কীভাবে তা আবিষ্কার করার চেষ্টা করা আমাকে হাসিয়ে তোলে। আমি দেখছি dary, কিন্তু না legen! এবং পাইথ দাবি করেছেন যে প্রচলিত প্রোগ্রামিংয়ের ক্ষেত্রে তাদের বোঝা আরও সহজ ...
সাইয়েস

@ কিয়েস আপনি সম্পাদনার ইতিহাসে সন্ধান করলে আপনি সংস্করণটি পড়ার পক্ষে আরও সহজ খুঁজে পেতে পারেন। ."ইঙ্গিত করে যে স্ট্রিং কিছু সম্পাদনা বাস্তব স্ট্রিং পেতে অপারেশন থাকা উচিত। গল্ফ করার জন্য এটি কেবল একটি সংকোচনের কৌশল। আপনি যদি পাইথ শেখার চেষ্টা করার সিদ্ধান্ত নেন তবে শুভকামনা! এটির জন্য একটি চ্যাটরুমও রয়েছে তা ভুলে যাবেন না :)
FryAmTheEggman

26

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

পরীক্ষার আগে আপনি নিজের সিস্টেমের ঘড়িটি পরিবর্তন করতে চাইতে পারেন, আপনি যদি 59 মিনিটের আগে এখানে অবতরণ করেন তবে অভিনন্দন।

setTimeout(a=alert,36e5-new Date%36e5,"dary!");a`Legen... wait for it...
`


11
36e5জায়গায় কাজ করবে 3.6e6?
ETH প্রোডাকশন

8
পছন্দ করুন
জর্জ রিথ

3
@Etproductions এটি কিছু খারাপ বৈজ্ঞানিক স্বরলিপি। এটি জাভাস্ক্রিপ্টে কাজ করেছে আমার ধারণা ছিল না। আজ কিছু শিখলাম !!!
ইসমাইল মিগুয়েল

2
@ অপ্টিমাইজার আহ জানতেন না আমার পক্ষে কি setTimeoutহবে eval। সত্য ... আমি প্রথমে ব্যবহার করার চেষ্টা করছিলাম console.logকিন্তু প্রসঙ্গের কারণে ভেরিয়েবলের মধ্যে সংরক্ষণের সময় এটি কাজ করে না। তুমিও সুন্দরী!
জর্জ রিথ

1
আপনি setTimeoutসঠিকভাবে ব্যবহার করতে পারেন এবং এমনকি একটি বাইট সংরক্ষণ করতে পারেন :alert`Legen…`;setTimeout(alert,36e5-new Date%36e5,"dary!")
বার্জি

9

সিজেম, 49 48 বাইট

et3="Legen... wait for it...
"o{_et3==}g;"dary!"

স্থানীয় সময় ব্যবহার করে। পরীক্ষার উদ্দেশ্যে, আপনি পরের মিনিট / সেকেন্ডের শুরুতে এটি দুটি মুদ্রণের 3সাথে প্রতিস্থাপন করতে 4বা তৈরি 5করতে পারেন।

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

ব্যাখ্যা

এটি সিজেএম এর ব্যবহার করে etযা আপনাকে একটি অ্যারে দেয়

[year month day hour minute second ms weekday utc_offset]

কোডটির একটি বিচ্ছেদ এখানে রয়েছে:

et3=       e# Get the current hour.
"Legen..." e# Push the first string including the linefeed.
o          e# Print it.
{          e# While the top of stack is truthy (which is popped)...
  _        e#   Copy the original hour.
  et3=     e#   Get the current hour.
  =        e#   Check for equality.
}g
;          e# Discard the original hour.
"dary!"    e# Push the second string which is printed automatically.

বোনাস

এটি একই বাইট গণনার জন্যও কাজ করে:

et4<"Legen... wait for it...
"o{et1$#!}g;"dary!"

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


9

অ্যাপলস্ক্রিপ্ট, 157 149 বাইট

হাহ। আশ্চর্যরকম বিতর্ক করছে।

(বর্তমান তারিখ) এর টাইম স্ট্রিংয়ে 1 নম্বরে ডি সেট করুন
"লেজেন ... এটির জন্য অপেক্ষা করুন ..."
(বর্তমান তারিখ) এর টাইম স্ট্রিংয়ের সময় d = সংখ্যা 1 এর মধ্যে পুনরাবৃত্তি করুন
শেষ
লগ ইন করুন "dary!"

যেহেতু logস্ক্রিপ্ট সম্পাদক পয়গাম ফলকে কপি করে প্রিন্ট, আমি এটা stdout- এ নিকটস্থ আউটপুট মনে হয়েছে। মূলত, আপনি যদি বর্তমান তারিখের সময়ের স্ট্রিং পান তবে এটি এরকম কিছু করবে:

কোড:

সময়ের স্ট্রিং (বর্তমান তারিখ)

আউটপুট:

5:02:03 অপরাহ্ন

এটি 5কোলনের আগে প্রথম সংখ্যাটি ( ) ধরে ফেলবে ।

আমি ভেবেছিলাম এটি আসলে এর চেয়ে অনেক দীর্ঘ হবে। xD


সুতরাং আপনি যদি 03:03:00 এ চালান তবে কি হবে?
ব্ল্যাকলাইট জ্বলজ্বলে

@ ব্ল্যাকলাইটশাইনিং এটি সামনের দিকে 3 নম্বর পাবে এবং এটি চারটি হওয়া পর্যন্ত অপেক্ষা করবে। এটি কেবল কোলনের আগে সংখ্যাটি সম্পর্কে অবগত।
অ্যাডিসন ক্র্যাম্প

ওহ, আমি মিস করেছি ঠিক আছে. অদ্ভুতভাবে যথেষ্ট, আমি আসলে "1"থেকে পেয়ে যাচ্ছি number 1 in time string of(current date)
ব্ল্যাকলাইট জ্বলজ্বল

@ ব্ল্যাকলাইটশাইনিং আপনি সম্ভবত একটি পুরানো সংস্করণ ব্যবহার করছেন - এল ক্যাপিটনে এটি সমান first number in time string of (current date)
অ্যাডিসন ক্রম্প 11

আমি ইয়োসেমাইটে আছি, হ্যাঁ first numberএছাড়াও আমাকে সময়ের প্রথম অঙ্ক দেয় ( "0"এখনই, 04:38 এ)।
ব্ল্যাকলাইট জ্বলছে

8

স্নোম্যান 1.0.2 , 70 69 বাইট

~"Legen... wait for it...
"sP3600000*vt#nDnC!*:vt+#nD!#nL;bD"dary!"sP

ব্যাখ্যা:

~              Make all variables active.
"..."sP        Print the first string.
3600000*vt#nD  Get the number of hours since the Unix epoch.
nC             Ceiling (round up), giving the time (divided by 36000) at which to
                 print the second string.
!*             Save that in a permavar.
:...;bD        Do the stuff in the block while its "return value" is truthy.
  vt+#nD       Again, get the number of hours since epoch.
  !#             Store the permavar that we saved earlier.
  nL             Is the current time less than the target time? (if so,
                   keep looping)
"..."sP        Print the second string.

7

পিএইচপি, 76, 70, 65, 62 51 বাইট

Legen... wait for it...
<?while(+date(is));?>dary!

পূর্বের যুক্তি (b৩ খ):

Legen... wait for it...
<?for($h=date(G);date(G)==$h;)?>dary!

এই জাতীয় কোডিং আপনাকে আপনার কাজটি শিথিল করে তোলে, তবে সময়টি ইনপাল থেকে 1 ঘন্টা বেশি না হওয়া পর্যন্ত এই লুপগুলি করে।

-1 প্রতিস্থাপন বাইট {}যখন afer ;(ধন্যবাদ manatwork)
প্রতিস্থাপন -5 বাইট echo'dary!';থেকে ?>dary!(ধন্যবাদ manatwork)
প্রতিস্থাপন -4 বাইট <?phpসংক্ষিপ্ত সংস্করণে <?(ধন্যবাদ Primo)
প্রতিস্থাপন -1 বাইট whileএকটি জন্য for
প্রতিস্থাপন -3 বাইট date(G)!=$h+1থেকে date(G)==$h(ধন্যবাদ প্রিমো)


নিস এক, কিন্তু {};এবং echo?>একটু কমাবে। যদিও আমি পছন্দ করবLegen... wait for it...↵<?php while(+date('is'));?>dary!
9:58 এ manatwork

1
কয়েকটি টিপস: আপনি সংক্ষিপ্ত ওপেন ট্যাগ ব্যবহার করতে পারেন (কেবল <?তার চেয়ে বরং <?php)। ব্যবহার for(;;)হিসাবে একই দৈর্ঘ্য হল while(), কিন্তু আপনি সরাতে পারবেন $hএকটি আধা-কোলন প্রয়োজনীয়তা ছাড়াই, অ্যাসাইনমেন্ট ( for($h=date(h);...)। {}প্রয়োজন নেই ছিল, কিন্তু তন্ন তন্ন হয় ;পূর্ববর্তী ?>। আপনার সমস্যাটি $h12 টির সাথে হতে পারে , যদিও ( date(h)কখনই 13 হবে না)।
primo

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

2
পরিবর্তন date(G)!=$h+1করুন date(G)==$h। সংক্ষিপ্ত, এবং ঘন্টা সমস্যার সমাধান করে;) এছাড়াও, এর আগে আধা-কোলন সরান ?>
primo

1
@ মান্যাট ওয়ার্ক এটি কোড চালানো হয়েছে কিনা অপেক্ষা করতে ব্যর্থ হবে HH:00:00, অর্থাৎ পুরো এক ঘন্টাের প্রথমার মধ্যে।
primo

7

পার্ল 6 , 60 বাইট

sleep 60²-now%60²+say 'Legen... wait for it..';say 'dary!'

4
আমি লক্ষ করতে চাই যে 60²মাত্র কয়েক দিন আগে যুক্ত
ব্র্যাড গিলবার্ট b2gills

বাহ, এই চ্যালেঞ্জের জন্য অযোগ্য হওয়ার এত কাছে!
বিড়াল

10 কে অভিনন্দন!
এমডি এক্সএফ

5

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

এতটা গল্ফ হয়নি ...

alert`Legen... wait for it...`,l=l=>~~(Date.now()/36e5);for(z=l();z==l(););alert`dary!`

ডাউনগোটের সংস্করণ:

(a=alert)`Legen... wait for it...`,z=(b=new Date().getHours)();for(;z==b(););a`dary!`

এটি বর্তমান সময়টিকে সঞ্চয় করে এবং "পুরানো" ঘন্টা বর্তমানের সমান হিসাবে দীর্ঘ হয়। ঘড়ির সাথে সাথেই সময়টা বদলে যাবে, বাকিটা ছাপবে! : ডি

দাবি অস্বীকার: আপনার ব্রাউজারটি যদি এটি অপছন্দ করে তবে আপনাকে সতর্ক করা হবে।


2
87 বাইট:(a=alert)`Legen... wait for it...`,l=new Date,z=(b=l.getHours)();for(;z==b(););a`dary!`
ডাউনগোট

@ ডাউনগোট ধন্যবাদ! (আমি এখনই এটি গল্ফ করার চেষ্টা করছি ..)
স্টেফনচ

1
এমনকি ছোট (85 বাইট):(a=alert)`Legen... wait for it...`,z=(b=new Date().getHours)();for(;z==b(););a`dary!`
ডাউনগোট

2
@ ডাউনগোট ওয়ান বাইট সংক্ষিপ্ত:for((a=alert)`Legen... wait for it...`,z=(b=new Date().getHours)();z==b(););a`dary!`
ইসমাইল মিগুয়েল

4

ম্যাটল্যাব - 89 বাইট

a=@()hour(now);disp('Legen... wait for it...');while(mod(a()+1,24)~=a())end;disp('dary!')

খুব স্ব-ব্যাখ্যামূলক। প্রথমে সিস্টেমের ঘড়ির বর্তমান সময়টি ধরতে একটি ফাংশন হ্যান্ডেল তৈরি করুন। তারপরে, Legen... wait for it...একটি ক্যারেজ রিটার্ন সহ প্রদর্শন করুন এবং তারপরে আমরা একটি whileলুপে যাই যেখানে আমরা 1 দিয়ে যোগ করা বর্তমান ঘন্টাটি বর্তমান সময়ের সমান নয় কিনা তা পরীক্ষা করে দেখছি । যদি তা হয় তবে লুপিং চালিয়ে যান। কেবলমাত্র তাত্ক্ষণিক আগ পর্যন্ত যখন পরের ঘন্টাটি ঘটে, আমরা প্রদর্শন করি dary!এবং তার পরে একটি ক্যারেজ রিটার্ন ঘটে।

ম্যাটল্যাবের ঘন্টা ২৪-ঘন্টা সূচকের উপর ভিত্তি করে, তাই बेस mod২৪ সহ অপারেশনটি 11 টা (23:00) থেকে মধ্যরাত (00:00) অবধি স্পিলিং পরিচালনা করতে হবে।

গৌণ নোট

hourফাংশন আর্থিক টাইম সিরিজ টুলবক্স প্রয়োজন। nowফাংশন এই সীমাবদ্ধতা বিষয়বস্তু নয়, কিন্তু এটি একটি সিরিয়াল নম্বর যা বর্তমান তারিখ এবং সময় আহরণ hourএইভাবে বর্তমান ঘন্টা গনা ব্যবহার করে।

এটি অক্টোবায় চালাতে চান?

নিশ্চিত! অ্যাক্টেভের কাছে এই সরঞ্জামবক্স নেই বলে আমাদের কেবল hourফাংশনটি সংশোধন করতে হবে যাতে এটি কল করে datevecযা 6 টি উপাদানের ভেক্টরকে ফিরিয়ে দেয় - বছর, মাস, দিন, ঘন্টা, মিনিট এবং সেকেন্ডের প্রত্যেকটির জন্য একটি। আপনাকে আউটপুটটির চতুর্থ উপাদানটি বের করতে হবে:

a=@()datevec(now)(4);disp('Legen... wait for it...');while(mod(a()+1,24)~=a())end;disp('dary!')

অতিরিক্ত অক্ষরগুলি সমাধানটি 98 বাইটে উঠিয়ে দেয়, তবে আপনি এটি অক্টোভায় চালাতে সক্ষম হবেন। ফাংশন হ্যান্ডেলের অস্থায়ী পরিবর্তনশীল ছাড়াই প্লেস ইনডেক্সিং নোট করুন।

কোনও আর্থিক সময় সিরিজের সরঞ্জামবাক্স নেই?

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

disp('Legen... wait for it...');h=datevec(now);ans=h;while(mod(h(4)+1,24)~=ans(4)),datevec(now);end;disp('dary!');

এটি প্রথমে বর্তমান সময় এবং তারিখটি অর্জন করে এবং এটি ভেরিয়েবলের মধ্যে সঞ্চয় করার hপাশাপাশি এটি স্বয়ংক্রিয় ভেরিয়েবল নামে পরিচিত হিসাবে সংরক্ষণ করে ans। এর পরে, আমরা লুপিং করে যাচ্ছি এবং পরবর্তী ঘন্টাটি পরবর্তী সময়ের সমান নয় কিনা তা খতিয়ে দেখছি। প্রতিটি পুনরাবৃত্তিতে, আমরা বর্তমান সময় এবং তারিখের সাথে স্বয়ংক্রিয় ভেরিয়েবল আপডেট করতে থাকি। পরবর্তী সময়টি বর্তমান সময় এবং তারিখের সাথে মিলে যাওয়ার সাথে সাথে আমরা স্ট্রিংয়ের শেষ অংশটি প্রদর্শন করি এবং প্রস্থান করি। এটি বাইট গণনা 114 এ ধাক্কা দেয়।


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


আপনার প্রথম একটিতে আপনাকে পরিবর্তে চেক করে 3 বাইট বাঁচাতে পারে nowযখন লুপ: a=@()disp('Legen... wait for it...');while floor(mod(now*86400,3600))end;disp('dary!')। আপনি a=@()বিটটি অপসারণ করে আরও 5 বাইট সংরক্ষণ করতে পারেন কারণ কোডটি একটি সম্পূর্ণ প্রোগ্রাম গঠন করে। সংযুক্ত কোডেও এফটিএস টুলবক্সের প্রয়োজন হয় না।
টম কার্পেন্টার

ফিনান্সিয়াল টুলবক্স hourফাংশন সম্পর্কে আপনি কীভাবে পৃথিবীতে জানেন ? :-)
লুইস মেন্ডো

এখন আমি দেখছি যে আপনি সূচীকরণের জন্য অন্তর্বর্তী ভেরিয়েবলগুলি সম্পর্কে আপনার মন্তব্য দ্বারা কী বোঝাতে চেয়েছিলেন ...
লুইস মেন্ডো

4

গণিত, 85 84 81 বাইট

c=Print;c@"Legen... wait for it...";a:=DateValue@"Hour";b=a;While[a==b];c@"dary!"

আমি মনে করি আপনি "ডারি!" করে 2 বাইট সংরক্ষণ করতে পারবেন এক্সপ্রেশন আউটপুট।
ক্যালকুলেটরলাইন

@ ক্যাটস আরেফ্লুফি তবে এটি কেবল একটি স্নিপেট হবে, পুরো প্রোগ্রাম নয়।
LegionMammal978

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

@ ক্যাটসআরএলফ্লি ম্যাথমেটিকা ​​স্ক্রিপ্ট বিদ্যমান, সুতরাং যে কোনও প্রদত্ত পূর্ণ প্রোগ্রাম একের মধ্যে চলবে বলে আশা করা যায়।
LegionMammal978

4

সি, 163 বাইট

#include<time.h>
f(){puts("Legen... wait for it...");time_t t=time(0);struct tm l=*localtime(&t);while(l.tm_min+l.tm_sec)t=time(0),l=*localtime(&t);puts("dary!");}

3
পিপিসিজিতে আপনাকে স্বাগতম!
এরিক দি আউটগল্ফার

155 বাইট (টিআইওতে এটি চালাবেন না, শেষ হবে না, এটি এক মিনিটের পরে বেরিয়ে যায়)
MD XF

3

মাইক্রোস্ক্রিপ্ট দ্বিতীয়, 45 বাইট

"Legen... wait for it..."P[36s5E*sD%_]"dary!"

অবশেষে, Dনির্দেশের জন্য একটি ব্যবহার ।

প্রথম স্ট্রিং প্রিন্ট করে, বারবার মিলিসেকেন্ডগুলিতে ইউটিসি সময় নেয় 3,600,000 যতক্ষণ না এই ফলন হয় 0, এবং তারপরে দ্বিতীয় স্ট্রিং উত্পাদন করে যা স্পষ্টভাবে মুদ্রিত হয়। 3,600,000 কোডটিতে 36x10 5 হিসাবে উপস্থাপিত হয় ।


আপনি একটি ব্যাখ্যা যোগ করতে পারেন? সি:
অ্যাডিসন ক্রম্প

@ ভোটটোক্লোজ সম্পন্ন
সুপারজেডি ২৪

3

টিআই-বেসিক, 70 64 বাইট

getTime
Disp "Legen... wait for it...
Repeat sum(getTime-Ans,1,1
End
"dary

এই দুই-বাইট ছোট হাতের অক্ষরগুলিকে অভিশাপ দিন!

getTimeএকটি ত্রি-উপাদান তালিকা প্রদান করে {hours minutes seconds}, সুতরাং 1 ম উপাদান থেকে 1 ম পর্যন্ত যোগফলটি সময় is যখন শুরুতে এবং বর্তমান সময়গুলির মধ্যে পার্থক্য থাকে, লুপটি শেষ হয়। এই পর্যবেক্ষণের জন্য @ ফ্রিআমএইটিজিমনকে ধন্যবাদ।


3

আর - 97 বাইট

cat('Legen... wait for it...\n')
Sys.sleep(1)
while(as.double(Sys.time())%%3600>0){}
cat('dary!')


3

পাইথন 2, 82 81 বাইট

from time import*;print'Legen... wait for it...';sleep(-time()%3600);print'dary!'

মন্তব্য করার মতো খ্যাতি খুব কম। আলেকজান্ডার নিগলের সমাধানটির পাইথন 2 সংস্করণ। বন্ধনীগুলিতে হারিয়ে যাওয়া অক্ষরগুলি সংরক্ষণ করে। এছাড়াও, ঘুমের সময় গণনায় 3600 প্রয়োজন হয় না।

মোট 7 টি অক্ষর সংরক্ষণ করা হয়েছে।

সম্পাদনা: -1 বাইট @ কেভিন ক্রুইজসেনকে ধন্যবাদ thanks


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

ধন্যবাদ কেভিন ক্রুইজসেন
হেনরি টি

2

উইন্ডোজ কমান্ড স্ক্রিপ্ট, 87 বাইট

@set.=%time:~,2%&echo.Legen... wait for it...
:.
@if %.%==%time:~,2% goto:.
@echo.dary!

এটি ধারাবাহিকভাবে বর্তমান সময়ের তুলনায় শুরুতে সঞ্চিত এক ঘন্টা-পরিবর্তনশীল এবং অন্যরকম হলে সফল হয়।


2

পার্ল, 62 বাইট

sleep -++$^T%3600+print'Legen... wait for it...
';print'dary!'

$^Tস্পেসিফিক ভেরিয়েবল (ওরফে $BASETIME) স্ক্রিপ্ট শুরু হওয়ার আগে থেকে পর্বের সময় থেকে সংখ্যা সেকেন্ড রেকর্ড করে। ভাগ্যক্রমে, লিপ সেকেন্ডগুলি মোটে গণনা করা হয় না, যাতে নিম্নলিখিতগুলি সমান হয়:

print$^T%3600;
@T=gmtime;print$T[1]*60+$T[0];

আশ্চর্যজনকভাবে, এই পরিবর্তনশীলটি কেবল পঠনযোগ্য নয়।


গণনা না করা -Eএখানে সাধারণ হিসাবে মনে হচ্ছে, তাই আপনি ব্যবহার করে 5 বাইট সংরক্ষণ করতে পারেন say
ডেনিস

চ্যালেঞ্জের বর্ণনা থেকে: "আপনি কোনও প্রোগ্রাম বা কোনও ফাংশন লিখতে পারেন।" কমান্ড লাইন থেকে কোড চালানো হয় না।
primo

আমি আপনার পয়েন্ট দেখছি. যাইহোক, প্রোগ্রাম বা ফাংশনগুলিতে সীমাবদ্ধতা ডিফল্টরূপে সমস্ত চ্যালেঞ্জের ক্ষেত্রে প্রযোজ্য , তবুও আমরা এখনও perl -Eসাবমিশন এবং ভাষাগুলির কেবলমাত্র অনলাইনে ইন্টারপ্রেটারদের অনুমতি দিই ।
ডেনিস

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

2

জাপট , 72 61 বাইট

`{?tT?e?t(Ã?t,36e5-?w D?e%36e5,'ÜÝ!'),'Leg?... Ø2 f? ?...\n'}

প্রত্যেকে ?একটি ইউনিকোড অপরিশোধিত চর উপস্থাপন করে। সম্পূর্ণ পাঠ্য কীভাবে পাবেন তা এখানে:

  1. অনলাইন দোভাষী খুলুন ।
  2. কোড বাক্সে এই কোডটি আটকান:
Oc"`\{setTimeout(alert,36e5-new Date%36e5,'dary!'),'Legen... wait for it...\\n'}
  1. কোডটি চালান, তারপরে কোড বক্স থেকে মুছুন।
  2. আউটপুট বাক্সের সামগ্রীগুলি নির্বাচন করুন এবং কোড বাক্সে টানুনকপি-পেস্টিংয়ের কাজ হবে না
  3. প্রথম স্থানটি একটি অ-ব্রেকিং স্পেসের সাথে প্রতিস্থাপন করুন।
  4. (alচ্ছিক) আপনার কম্পিউটারের ঘড়িটি xx: 59 এ সেট করুন।
  5. কোড চালান।

বিকল্পভাবে, এখানে একটি (আশাকরি প্রত্যাবর্তনযোগ্য) হেক্সডাম্প রয়েছে:

00000000: 607b a074 548b 658c 7428 c300 742c 3336 65    `{ tT?e?t(Ã?t,36e
00000011: 352d 9a77 2044 8565 2533 3665 352c 27dc dd    5-?w D?e%36e5,'ÜÝ
00000022: 2127 293b 274c 6567 812e 2e2e 20d8 3220 66    !'),'Leg?... Ø2 f
00000033: 8e20 8a2e 2e2e 5c6e 277d                      ? ?...\n'}

এই কোডটি জর্প রেথের জাভাস্ক্রিপ্ট উত্তরের উপর ভিত্তি করে কয়েকটি জাপট-নির্দিষ্ট পরিবর্তন রয়েছে। আমি অন্য দিন খুঁজে পেয়েছি যে আপনি যদি কোডটি সংকুচিত করেন এবং এটিকে ব্যাকটিক-মোড়ানো স্ট্রিংয়ের মধ্যে সন্নিবেশ করান তবে এটি স্বয়ংক্রিয়ভাবে সঙ্কুচিত হবে। সংকলনের মাধ্যমে এটি কীভাবে প্রক্রিয়াজাত করা হয় তা এখানে:

`{?tT?e?t(Ã?t,36e5-?w D?e%36e5,'ÜÝ!'),'Leg?... Ø2 f? ?...\n'}
"{setTimeout(alert,36e5-new Date%36e5,'dary!'),'Legen... wait for it...\n'}"
""+(setTimeout(alert,36e5-new Date%36e5,'dary!'),'Legen... wait for it...\n')+""

জেএসে, এক জোড়া বন্ধনী শেষ মানটি ভিতরে ফিরে আসবে; এইভাবে, এই কোডটি সময়সাপেক্ষ ইভেন্টটি সেট করে, তারপরে 'Legen...'স্ট্রিংটি দেয়, যা স্বয়ংক্রিয়ভাবে STDOUT এ প্রেরণ করা হয়। যেহেতু জাপ্টের বর্তমানে সংকলনের উপর স্বয়ংক্রিয় আউটপুট ব্যতীত STDOUT এ সামগ্রী যুক্ত করার কোনও উপায় নেই, আমি পরিবর্তে সময়সী আউটপুটটির জন্য ভ্যানিলা জেএস ফাংশনটি ব্যবহার করেছি alert। আমি আশা করি এটি অনুমোদিত।


আপনি কি এর একটি হ্যাক্সডাম্প পোস্ট করতে পারেন?
একটি স্প্যাগেটো

@ কর্তাটা হয়ে গেছে। আমি বিশ্বাস করি এটি সঠিক।
ETH প্রোডাকশনস

2

পাওয়ারশেল, 52 51 বাইট

-1 বাইট ধন্যবাদ @ ভেস্কাহ

'Legen... wait for it...'
for(;Date|% M*e){}'dary!'

এই অভিব্যক্তিটি বর্তমান তারিখের সময় মান Date|% M*eথেকে Minuteসম্পত্তি থেকে মান পায় । লুপ Minute0 সমান হলে শেষ হয় ends


1
ধনুর্বন্ধনী পরে সরাসরি 'ড্যারি' রাখতে সক্ষম হওয়া উচিত, বা কমপক্ষে আপনি PSv5 এ পারেন।
ভেস্কাহ

1

পাইথন, 112 বাইট

import time as t;print "Legen... wait for it...";n=t.ctime();t.sleep((60-n.tm_min)*60+60-n.tm_sec);print "dary!"

বেশ স্ব স্ব বর্ণনাকারী।


মুদ্রণ বিবৃতি এবং নিম্নলিখিত স্ট্রিংয়ের মধ্যে ফাঁকা স্থান থেকে মুক্তি 2 সংরক্ষণ করতে পারে। :)
হেনরি টি

1

পাইথন - 159 বাইট

from datetime import*;from threading import*;p=print;n=datetime.now();p('Legen... wait for it...');Timer(3600-(n.minute*60+n.second),lambda:p('dary!')).start()

1

মাউস -2002 , 62 বাইট

ব্যবহারকারীকে এন্টার টিপতে হবে। আমি মনে করি.

"Legen... wait for it..."?&HOUR 1+x:(&HOUR x.=["dary"33!'0^])

ঠিক আছে, ভাল, যখন আমরা প্রচুর বাইট নিচ্ছি এবং কিছুই জিততে না পারি, আসুন আমরা একটু মজা করি।

"Legen... wait for it... "?     ~ print & require keypress

&HOUR 1+ x:                     ~ get hr, add 1 and assign
(                               ~ while(1)
  &HOUR x. =                    ~ cmp current hr, stored hr
  [                             ~ if same
    #B;                           ~ backspace
    "dary"36!'                    ~ print this string and a !
    0^                            ~ exit cleanly
  ]                             ~ fi
  &MIN 59 - &ABS !              ~ get min, subtract from 59, abs & print
  ":"                           ~ record sep
  &SEC 59 - &ABS !              ~ same for second
  #B;                           ~ backspace
)
$B 8!' 8 !' 8 !' 8 !' 8 !'@     ~ backspace 5*
$                               ~ \bye

নমুনা:

$ mouse legend.m02
Legen... wait for it... 20:32

দেখুন, এটি পরের ঘন্টা পর্যন্ত একটি আপডেট-ইন-প্লেস কাউন্টডাউন টাইমার! এটি লুপটির ভাল ব্যবহার করে, যা এমনকি কিছু না করাও একটি মূল স্থান দখল করে।


1

বেসিক, 90 বাইট

Print"Legen... wait for it...":x$=Left(Time,2):Do:Loop Until x$<>Left(Time,2):Print"dary!"

সোজা, প্রিফিক্স এবং অন্তর্নিহিত Endবিবৃতি টাইপ ব্যবহার করে গল্ফ করা । ব্যয়টি হ'ল এটি কেবল ফ্রিবাসিক উপভাষায় কাজ করে fblite


1

বেফুঞ্জ 98 - 69 63 বাইট

 v
v>a"...ti rof tiaw ...negeL<ETB>"k,
>"EMIT"4(MS+_"!yrad"5k,@

কোডটিতে একটি অপ্রিন্টযোগ্য অক্ষর রয়েছে (ছাপানো অক্ষর দ্বারা প্রতিনিধিত্বকারী <ETB>কোড ব্লকগুলিতে প্রদর্শিত হবে বলে মনে হয় না)। এর অক্ষর কোডটি 23 (একটি শেষ সংক্রমণ ব্লক অক্ষর )।

সতর্কতা: পূর্ববর্তী কোডটি একটি ব্যস্ত লুপে চলবে যাতে স্ট্যাক প্রতিটি পুনরাবৃত্তি বড় হয়ে যায় এবং এর ফলে প্রচুর পরিমাণে মেমরি গ্রহণ করতে পারে।


1

জেলি , 48 টি বাইট , প্রতিদ্বন্দ্বী

-1 বাইট ধন্যবাদ এরিক দ্য গল্ফারকে (সংক্ষেপে শব্দ হিসাবে "লেগ" ব্যবহার করুন)

“ÇỴġƒḃhlḂṀ⁷*Ḣ¡w*Jḷv»Ṅø3ŒTṣ”:V_@59ḅ60‘œS@“dary!”

TryItOnline! বাহার্ড কোডিং টাইম-ফর্ম্যাট-স্ট্রিং("মিমি: এসএস")দিয়ে একটি পরীক্ষা সংস্করণ চালান“59:57”

জেলির প্রথম প্রতিশ্রুতি ডেনিস এই চ্যালেঞ্জটি তৈরি করার ঠিক কয়েকদিন পরে করেছিলেন, আমি নিশ্চিত নই যে এই কোডটি প্রথম কোন দিন কাজ করবে, তবে এটি কোনও ক্ষেত্রেই প্রতিদ্বন্দ্বী নয় is
লেখার সময়, সময় অ্যাক্সেসের একমাত্র উপায় যা একটি ফর্ম্যাট স্ট্রিংয়ের মাধ্যমে হয় ŒT,।

এই কোডটি কতক্ষণ অপেক্ষা করতে হবে এবং তারপরে ঘুমায় তা গণনা করে। নামক তাহলে এ hh:00:00জন্য অপেক্ষা 3600সেকেন্ড: এটা পরিবর্তন করে "00:00"থেকে [0,0]তারপর subtracts থেকে যে 59ফলন [59,59], পরিবর্তিত যে বেস ষাট থেকে দিতে 3599, তারপর মোট অপেক্ষার সময়ের জন্য এক যোগ 3600সেকেন্ড।

সম্ভবত একটি লুপ তৈরি করা যেতে পারে; বা "লেজেন্ডারি" শব্দটি ব্যবহার করে একটি সংকুচিত স্ট্রিংটি কোনওভাবে ব্যবহার করা যেতে পারে?

“ÇỴġƒḃhlḂṀ⁷*Ḣ¡w*Jḷv»Ṅø3ŒTṣ”:V_@59ḅ60‘œS@“dary!” - Main link: no arguments
“ÇỴġƒḃhlḂṀ⁷*Ḣ¡w*Jḷv»                            - compressed "Legen... wait for it..."
                    Ṅ                           - print z + '\n', return z
                     ø                          - niladic chain separation
                      3ŒT                       - '011' (3) time formatted string = "mm:ss"
                         ṣ”:                    - split on ':' -> ["mm","ss"]
                            V                   - eval -> [m,s]
                             _@59               - subtract from 59 - > [59-m, 59-s]
                                 ḅ60            - convert from base 60 -> 60*(59-m)+(59-s)
                                    ‘           - increment -> 60*(59-m)+(59-s) = y
                                        “dary!” - "dary!" = x
                                     œS@        - sleep y seconds then return x
                                                - implicit print

1
“ÇỴġƒḃhlḂṀ⁷*Ḣ¡w*Jḷv»পরিবর্তে ব্যবহার করুন “¤ßƇṪOƭ!½ȯƤxEẹ<Ȯ¹z7⁷»Leg(থেকে Legen) এছাড়াও একটি শব্দ :) এছাড়াও, এই উত্তরটি অবৈধ, কারণ এটি মিনিট এবং কয়েক সেকেন্ড উভয়েরই উপর নির্ভর করে 004ŒTপরিবর্তে আপনার সাথে কিছু করা উচিত , যেহেতু এখানে একটি বিধি রয়েছে যেটি উল্লেখ করা হয়েছে,In the event that the program is started in the first second of a full hour, it should it wait for the next full hour.
এরিক দ্য আউটগল্ফার

দুর্দান্ত, "লেগ" একটি বাইট সংরক্ষণ করে, ধন্যবাদ যাইহোক, লিঙ্কটি যখন ডাকা হয়েছিল তখন 00:00এটি কাজ করে কারণ এটি এই শর্তটি পরীক্ষা করে না - এটি পরবর্তী সেকেন্ড পর্যন্ত কত সেকেন্ড "00:00"পরে অপেক্ষা করে তা গণনা করে । সুতরাং এটি রূপান্তর হবে "00:00"থেকে [0,0]থেকে বিয়োগ 59ফলন [59,59]রূপান্তর যে বেস ষাট থেকে পেতে 3599এবং তারপর এক যোগ পেতে 3600(সঙ্গে পরীক্ষামূলক সংস্করণ ব্যবহার করে এটি পরীক্ষা "00:00"স্থানে "59:57")
জোনাথন অ্যালান

1
উহু. দেখে মনে হচ্ছে আমি দীর্ঘ জেলি কোডটি পড়তে পারি না, এবং আমি প্রত্যেকের ব্যবহার এবং প্রত্যাশাগুলি জানতে পারি না :) যদিও, ব্যাখ্যাটিতে, আমি মনে করি যে এটির পরিবর্তে 60*(59-m)+(59-s)অবশ্যই হবে 60*(59-m)+(59-s)+1, দ্বিতীয়বার এটি প্রদর্শিত হবে?
এরিক আউটগল্ফার

কোনও সমস্যা নেই - ভাষ্যটি আমার লেখা সবচেয়ে পরিষ্কার নয়।
জোনাথন অ্যালান

ঠিক আছে, আপনি যদি ঝামেলা না নিতে পারেন তবে আমি এটিকে সম্পাদনা করতে পারি Also এছাড়াও, আমি এক্স / ওয়াই বাম / ডান হিসাবে করার পরামর্শ দিচ্ছি, এবং কেবলমাত্র বলব sleep x seconds then return y- কারণ <dyad>@অদলবদলের সাথে অন্য ডায়াড হিসাবে সংজ্ঞায়িত করা যেতে পারে।
এরিক দি আউটগল্ফার

1

ম্যাথগল্ফ , 39 বাইট

"Legen... wait for it..."pÆt♪/╚÷▼"dary!

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

প্রায় পাইথ পিট ...

ব্যাখ্যা

Æ     ▼  Repeat the next 5 characters while false
 t       push unix time in milliseconds
  ♪/     divide by 1000
    ╚÷   check if divisible by 3600 (tio solution has 3 in its place)

"প্রায়"? দেখে মনে হচ্ছে আপনি করেছেন।
প্যাট্রিক রবার্টস

@ পেট্রিকরোবার্টসে আরও একটি পাইথ সলিউশন রয়েছে যা ৩ 36 বাইট, সংকীর্ণ স্ট্রিং এবং অন্যান্য কৌশলগুলি সত্ত্বেও সেখানে পৌঁছতে পারেনি।
ম্যাক্সবি

ওহ যে এক। এটা ভুল, মন্তব্য দেখুন।
প্যাট্রিক রবার্টস

@ পেট্রিক রবার্টস আমি "00:00 এ চালানো হলে অবশ্যই এক ঘন্টা অপেক্ষা করতে হবে" এ মাপদণ্ডে ব্যর্থ হতে পারি, তবে একই বাইট গণনা দিয়ে মিলিসেকেন্ডগুলিতে ইউনিক্সটাইমকে 3600000 দ্বারা বিভাজ্য পরীক্ষা করতে আমি এটি পরিবর্তন করতে পারতাম। যেহেতু প্রথম মুদ্রণটি একাধিকবার নিতে হবে মিলিসেকেন্ড, এটি সর্বদা কাজ করা উচিত
ম্যাক্সবি

0

পাইথ - 36 বাইট

কিছুক্ষণ লুপ সহ মিনিট 0 না হওয়া পর্যন্ত অপেক্ষা করুন।

"Legen... wait for it..."W.d7)"dary!

11
মিনিট এবং সেকেন্ড 0 না হওয়া পর্যন্ত আপনাকে অপেক্ষা করতে হবে এবং প্রোগ্রামটি চালিত হলে পুরো ঘন্টা অপেক্ষা করতে হবে:00:00
lirtosiast

0

জাভা, 136 বাইট

class a{void A(){System.out.println("Legen... wait for it...");while(System.currentTimeMillis()%3600000!=0);System.out.print("dary!");}}

শেষ পুরো ঘন্টা থেকে কত মিলিসেকেন্ড System.currentTimeMillis()কেটে গেছে তা 3,600,000 এর পরিবর্তনের ফলাফল ।

সমতুল্য একতরফা প্রোগ্রামটি 159 বাইট দীর্ঘ:

interface a{static void main(String[]A){System.out.println("Legen... wait for it...");while(System.currentTimeMillis()%3600000!=0);System.out.print("dary!");}}

0

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

?@Legen... wait for it...|#Dary!|{~mid$$|(_d,4,2)=@00||_XB

ব্যাখ্যা

?@Legen... wait for it...|     Define string literal "Leg[..]it..." and print it
#Dary!|                        Define string B as "Dary!", but don't use it yet
{                              Opens an indefinite DO loop
~mid$$|(...)=@00|              Translates to IF MID$(...) = C$, where C$ is "00"
    The MID$ takes two characters, starting from pos 4, from the system's time (_d)
    So, if the string "11:00" has "00" starting at pos 4,
_XB                            Terminate the program and print string B
(The DO loop and the IF are closed implicitly)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.