কোনও প্যাটার্ন অনুসরণ করে এমন সমস্ত সময় সন্ধান করুন


13

আপনার কাজটি এমন একটি প্রোগ্রাম লেখা যা সমস্ত সময় (এইচএইচ: এমএম, 24 ঘন্টা ফর্ম্যাটে) মুদ্রণ করে যা নীচের যে কোনও নিদর্শন অনুসরণ করে:

  • মিনিটের সমান ঘন্টা, যেমন 22: 22,01: 01
  • বিপরীত মিনিটের সমান ঘন্টা, যেমন 10:01, 01:10, 22:22
  • সিকোয়েন্সগুলি, যা এইচ: এমএম, বা এইচএইচ: এমএম এর সাথে মেলে, সবসময় এইচএইচ: এমএম দিয়ে মুদ্রিত হয়। যেমন 00:12, 01:23, 23:45, 03:45, ইত্যাদি (সর্বদা সংখ্যার মধ্যে একক পদক্ষেপ)

নিয়মাবলী:

  • আপনার পছন্দ মতো যে কোনও ভাষা বেছে নিতে পারেন
  • আপনি বারবার মুদ্রণ করতে পারবেন না
  • দিনের অর্ডার অনুসরণ করে প্রতি লাইনে একবার
  • বিজয়ী বাছাই করা হবে ২৮ ফেব্রুয়ারি।

পিএস: এটি আমার প্রথম প্রশ্ন, এতে কিছুটা অসঙ্গতি থাকতে পারে। সম্পাদনা করতে নির্দ্বিধায়।

PS2: এখানে প্রত্যাশিত 44 সমাধান (ইতিমধ্যে জোশ এবং প্রিমো উপস্থাপন করেছেন, ধন্যবাদ!)

00:00
00:12
01:01
01:10
01:23
02:02
02:20
02:34
03:03
03:30
03:45
04:04
04:40
04:56
05:05
05:50
06:06
07:07
08:08
09:09
10:01
10:10
11:11
12:12
12:21
12:34
13:13
13:31
14:14
14:41
15:15
15:51
16:16
17:17
18:18
19:19
20:02
20:20
21:12
21:21
22:22
23:23
23:32
23:45

2
আমি প্রত্যাশা করব যে 3:45এটি বিন্যাসে লেখা 03:45হয়েছে HH:MMএবং এটি কোনও অনুক্রম নয়।
হাওয়ার্ড

অধিকার! আমি উদাহরণগুলিতে মিস করছি
RSFalcon7

3
নেই 13:57একটি ক্রম হিসাবে গণনা? কি হবে 6:54? একই নোটের 6:42উপরও, সিদ্ধান্ত নেওয়া দরকার।
জন ডিভোরাক

3
কেবলমাত্র একটি একক সংখ্যার সাথে কি এমন শীর্ষস্থানীয় শূন্য নয় যেমন 00:01অনুক্রম হিসাবে গণনা করা হয়?
জোশ

2
@ আরএসফালকন 7 তাই কেবল কিছু শীর্ষস্থানীয় শূন্যকেই উপেক্ষা করা হবে? কোনটা? 23:45, 02:34, 00:23, 00:02 একই ধরণের ঘটনা বলে মনে হচ্ছে।
জোয়াকিম ইসাকসন 21

উত্তর:


4

গল্ফস্ক্রিপ্ট ( 82 72)

এখনও খুব শিক্ষানবিস, তবে জিএসের কোনও উত্তর ছিল না, তাই ... :)

24,{'0'\+-2>..+\.-1%+}%5,{'0'7,{+}/>4<.(;0\+}%|{2=54<},$);{2/~':'\++}%n*

পিএইচপি এটি পরাতে সক্ষম হবে না।
প্রিমো

এবং সি অবশ্যই এটি হারাতে সক্ষম হবে না।
জোশ

4

পিএইচপি - 93 বাইট

<?for(;24>$h;)@ereg(+$h=&date(i,$i).$m=date(s,$i++),"0123456$h$h".strrev($h))&&print"$h:$m
";

এই মত নিদর্শন পাবেন 02:34, কিন্তু মতো প্যাটার্নগুলি পাবে না 00:23বা 00:02। আমি যদি মন্তব্যগুলিতে ওপি'র স্পষ্টতা বুঝতে পারি তবে এটি সঠিক।

মোট 44 ফলাফল মুদ্রণ করে:

00:00
00:12
01:01
01:10
01:23
02:02
02:20
02:34
03:03
03:30
03:45
04:04
04:40
04:56
05:05
05:50
06:06
07:07
08:08
09:09
10:01
10:10
11:11
12:12
12:21
12:34
13:13
13:31
14:14
14:41
15:15
15:51
16:16
17:17
18:18
19:19
20:02
20:20
21:12
21:21
22:22
23:23
23:32
23:45

4

সি, 118 (প্রথম দিকে 136)

h,m;main(){h<24&&main(m>57?m=0,h++:h==m|h==m%10*10+m/10|m-12==h*11|h==m-22&!(~-m++%11)&&printf("%02d:%02d\n",h,m-1));}

১১৯ টি অক্ষর সহ একটি পুনরাবৃত্তি সংস্করণ:

h;main(m){for(;h<24;h++)for(m=0;m<57;m++)h==m|h==m%10*10+m/10|m-12==h*11|h==m-22&!(~-m%11)&&printf("%02d:%02d\n",h,m);}

@ স্প্যামিশ ওসিফরেজকে একটি বড় ধন্যবাদ!


1
এখনই ভাল হওয়া উচিত।
জোশ

2
আমার সমাধান সেগুলিকে আউটপুট করে (যেমন 02:34)। বিধি m-12==h*11তাদের ধরে।
জোশ

2
আপনি প্রতিস্থাপন 100*h+m==1234||100*h+m==2345করতে পারেন ((m-h)==22)&&!((m-1)%11)(এমনকি কম কম বন্ধনী সহ)
r3mainer

1
জ্যাকপট! 128 টি অক্ষরে ফিরে যান। ধন্যবাদ!
জোশ

1
আমার বোঝাটি এমন সিকোয়েন্সগুলিকে অন্তর্ভুক্ত করা উচিত নয় যেগুলিতে কেবলমাত্র একক অঙ্ক রয়েছে 00:01। আমি স্পষ্টতার জন্য মূল প্রশ্নে পোস্ট করব।
জোশ

2

পাইথন (178)

s=sorted
for i in[x for x in['%04d'%i for i in range(2400)if i/10%10<6]if s(x[:2])==s(x[2:])or len({i-ord(y)for i,y in enumerate(x.lstrip('0'))})==1]:print'%2s:%2s'%(i[:2],i[2:])

সিক্যুয়েন্সের আগে সমস্ত নেতৃস্থানীয় জিরোগুলি ছড়িয়ে দেওয়া মোট 57 টি ফলাফল দেয়।


2

এপিএল (90)

F←{,'ZI2'⎕FMT⍵}⋄↑⊃¨{(F⍺),':',F⍵}/¨Z/⍨{(⍺=⍵)∨(≡/0 1⌽∘F¨⍺⍵)∨∧/¯1=2-/⍎¨(⍕⍺),F⍵}/¨Z←,1-⍨⍳24 60

এটাই. আমি পার্লের একটি উপভাষা তৈরি করতে যাচ্ছি যেখানে প্রতিটি কীওয়ার্ড এবং বেশিরভাগ ফাংশন একক অক্ষর। +1, বিটিডব্লিউ;)
প্রাইমো

1

জাভাস্ক্রিপ্ট - 171 অক্ষর (5/2/14)!

for(h='00';+h<24;h=(++h<10?'0':'')+h)for(m='00';+m<60;m=(++m<10?'0':'')+m)if(h[1]+h[0]==m||h==m||+m[1]-m[0]==1&&+m[0]-h[1]==1&&(!+h[0]||+h[1]-h[0]==1))console.log(h+':'+m)

আমি মারাত্মকভাবে গল্ফিং এর হ্যাং পেয়ে যাচ্ছি। যদি এখন থেকে পিছনে ফিরে তাকাই, আমি প্রায় 30 টি চর কেটে ফেলেছি! জেএসবিন

অবহেলিত (এবং মন্তব্য করা হয়েছে):

// Note: +'string' is same as 'parseInt(string, 10)'
// Also, this code is not the shortest one, I have purposely made this code longer for
// understanding purposes

for(h = '0'; +h < 24; h = +h + 1 + '') //initialize h(our), loop while it's less than 24
{                                      // increase it by 1 and cast back to string
    for(m = '0'; +m < 60; m= +m + 1 + '') // intialize m(inute), loop while < 60
    {                                  // increase it by 1 and cast back to string
        if(h.length < 2) h = 0 + h;    // if it is '9', convert to '09'
        if(m.length < 2) m = 0 + m;    // if it is '9', convert to '09'

        // Tests for printing
        if(h[0] === m[1] && m[0] === h[1] ||
           h === m ||
           +m[1] - +m[0] === 1 && +m[0] - +h[1] === 1 && (+h[0] === 0 || +h[1] -+ h[0] === 1))
        console.log(h + ':' + m);  // print
    } // inner loop end
}     // outer loop end

187 অক্ষর (পুরানো) (4/2/14)

for(h='00';+h<24;h=(+h<9?'0':'')+(+h+1))for(m='00';+m<60;m=(+m<9?'0':'')+(+m+1))if(h[0]==m[1]&&m[0]==h[1]||h==m||+m[1]-m[0]==1&&+m[0]-h[1]==1&&(!+h[0]||+h[1]-h[0]==1))console.log(h+':'+m)

অল্প কিছু পরীক্ষা করা, এবং অনেক উন্নতি করা (9 টি অক্ষর) :) জেএসবিন

১৯6 টি চর (পুরানো) (৩/২/১৪)

for(h='00';+h<24;h=(+h<9?'0':'')+(+h+1))for(m='00';+m<60;m=(+m<9?'0':'')+(+m+1))if(h[0]==m[1]&&m[0]==h[1]||h==m||+m[1]-m[0]==1&&+m[0]-h[1]==1&&(!+h[0]||+h[1]-h[0]==1))console.log(h+':'+m)

একটি সতেজ মন নিয়ে বসুন এবং এটির অনেক উন্নতি করেছেন, ওয়ান লাইনার :) জেএসবিন

২০৮ টি চর (পুরানো) (২/২/১৪)

for(h='0';+h<24;h=+h+1+''){for(m='0';+m<60;m=+m+1+''){if(h.length<2)h=0+h
if(m.length<2)m=0+m
if(h[0]==m[1]&&m[0]==h[1]||h==m||+m[1]-+m[0]==1&&+m[0]-+h[1]==1&&(+h[0]==0||+h[1]-+h[0]==1))console.log(h+':'+m)}}

সঠিকভাবে 44 টি প্রয়োজনীয় সময় দেয় (প্রতিটি নতুন লাইনে)

আমার কোড উন্নত করা হবে।

আমি কোন প্রতিক্রিয়া অত্যন্ত প্রশংসা করব। ধন্যবাদ.


সম্প্রতি আপডেট হয়েছে !!
গৌরাঙ্গ ট্যান্ডন

1

পাইথন 3, 248 টি অক্ষর

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

আমি সিদ্ধান্ত নিয়েছি যে কেবলমাত্র ২২:২২ এবং ২৩:৪৫ এর মতো বাস্তব সিকোয়েন্সগুলিকে সমর্থন করব, 00:12 নয়। যাইহোক, আমি আরও ভাল করার জন্য প্রচুর পরিমাণে বাজি ধরছি, সুতরাং দয়া করে এগিয়ে যান এবং আমার সাথে একটি মন্তব্য ভাগ করুন।

import itertools as t
s=sorted
r=range
i=int
d='%02d'
e=d+':'+d
print([e%(i(a[0]),i(a[1])) for a in t.product([d% x for x in r(0,24)], [d% x for x in r(0,60)]) if s(a[0])==s(a[1]) or list(a[0]+a[1])==[str(x) for x in r(i(a[0][0]),i(a[1][-1])+1)]])

আমার পেস্টবিনে এটির সাথে খুব বর্ণনামূলক সংস্করণটি পেয়েছে


0

ডেল্ফী

এখনও এটিতে কাজ করে যাচ্ছি তবে এখন পর্যন্ত আমার কাছে এটিই রয়েছে।
এটি কাজ করে তবে আমি নিশ্চিত যে এটি আরও সংক্ষিপ্ত হওয়া সম্ভব।
সম্পাদনা করুন: 48 বার মুদ্রণ করুন

ইনডেন্ট 422 অক্ষর ছাড়াই

uses System.SysUtils,DateUtils;var t:TTime;a,b,c,d:integer;s:string;begin t:=StrToTime('00:01');while t<StrToTime('23:59')do begin s:=FormatDateTime('hhnn',t);a:=StrToInt(s[1]);b:=StrToInt(s[2]);c:=StrToInt(s[3]);d:=StrToInt(s[4]);if((a+1=b)and(b+1=c)and(c+1=d))or((a=0)and(b+1=c)and(c+1=d))or((a=0)and(b=0)and(c+1=d))or((a=d)and(b=c))or((a=c)and(b=d))then WriteLn(FormatDateTime('hh:nn',t));t:=IncMinute(t)end;ReadLn;end.

ইন্ডেন্ট 557characters সহ

uses
  System.SysUtils, DateUtils;

var
  t:TTime;
  a,b,c,d:integer;
  s:string;
begin
  t:=StrToTime('00:01');
  while t<StrToTime('23:59')do
  begin
    s:=FormatDateTime('hhnn',t);
    a:=StrToInt(s[1]);
    b:=StrToInt(s[2]);
    c:=StrToInt(s[3]);
    d:=StrToInt(s[4]);
    if((a+1=b) and (b+1=c) and (c+1=d)) or
      ((a=0) and (b+1=c) and (c+1=d)) or
      ((a=0) and (b=0) and (c+1=d)) or
      ((a=d) and (b=c)) or ((a=c) and (b=d)) then
      WriteLn(FormatDateTime('hh:nn',t));
    t:=IncMinute(t)
  end;
  ReadLn;
end.

0

q (116)

distinct{t:string 00:00+x;$[(t[0 1]in(t[3 4];t[4 3]))|all 1=1_deltas{"I"$x}each t[0 1 3 4];t;"00:00"]}each til 1440

00:00 থেকে 23:59 পর্যন্ত বৃদ্ধি, স্ট্রিংয়ে ক্যাসেট করুন, তারপরে (পরীক্ষা 1 বা 2) বা 3 পরীক্ষা করুন

আউটপুট:

("00:00";"01:01";"01:10";"01:23";"02:02";"02:20";"03:03";"03:30";"04:04";"04:40";"05:05";"05:50";"06:06";"07:07";"08:08";"09:09";"10:01";"10:10";"11:11";"12:12";"12:21";"12:34";"13:13";"13:31";"14:14";"14:41";"15:15";"15:51";"16:16";"17:17";"18:18";"19:19";"20:02";"20:20";"21:12";"21:21";"22:22";"23:23";"23:32";"23:45")

0

পিএইচপি - 56 39 31 বাইট

<? http_redirect("goo.gl/W2M5mo")?>

এটি কোনওভাবেই নিয়মকে বাঁকায় না। আপনার পিএইচএল_এইচটিপি মডিউল ইনস্টল করা দরকার এবং পিএইচপি.আইএনইতে "1" এ সংক্ষিপ্ত_পেন_ট্যাগ সেট করা দরকার।


+1 টি, যদি sneakiness জন্য অন্য কিছুই, যদিও অক্টেভ 38 টি অক্ষর এটা beats disp(urlread('http://bit.ly/1fzhb3C')):)
জোয়াকিম Isaksson

... যদিও আপনার সম্ভবত কাস্টম ডিজাইনের স্ট্যাটিক এইচটিএমএলটি সোর্স কোডের একটি অংশ লোড করা উচিত তা বিবেচনা করা উচিত, অন্যথায় একটি স্ট্যাটিক ফাইল করবে (এবং সমানভাবে গণনা করা হবে না ...?)
জোচিম ইসাকসন

-7

টিআইবি-বেসিক

আপনার টিআই -৪৪ ক্যালকুলেটরটির জন্য

DelVar AWhile A<24:A+1→A:Disp A,":",A:End

3
কোনভাবে এই প্রশ্নের উত্তর দেয়?
হাওয়ার্ড

2
ফেয়ার হবে প্রশ্ন রাজ্যের "অনুসরণ এক নিম্নলিখিত প্যাটার্নের"
ড্যানি

2
@ ড্যানি আমি মনে করি এটি বিধিগুলি খুব বেশি বাঁক করছে।
জন ডিভোরাক

1
@ জনডভোরাক এই নিয়মগুলি কীভাবে বাঁকছেন ???
টিমটেক

2
ঠিক আছে ... আমাকে এই নিয়মটি প্রকাশ করার অন্যান্য উপায় সম্পর্কে ভাবতে দিন। আপনি এখনও উদ্দেশ্যটির ভিত্তিতে এটি ভুল ব্যাখ্যা করেছেন কিনা তা আমি এখনও নিশ্চিত নই, তবে এটি আমার পক্ষে এবং অন্যান্য এ্যাঞ্জারারের পক্ষে যথেষ্ট স্পষ্ট বলে মনে হয়।
জন ডিভোরাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.