ঘণ্টা টাওয়ারটি কতবার বেজে উঠবে?


24

ভূমিকা

একটি ঘণ্টা মিনার তার ঘন্টাধ্বনি প্রতি ঘন্টায়, রিং হবে nসঙ্গে, বার nএকটি 12 ঘন্টার ঘড়ি বর্তমান ঘন্টা হচ্ছে।

উদাহরণস্বরূপ, একটি ঘণ্টা 5 টা বেজে 5 বার এবং 10 টায় 10 বার বেজে উঠবে।

কার্য

একটি উপযুক্ত বিন্যাসে দুটি বার দেওয়া, শুরুর বার এবং বারের বারের সংখ্যাটি আউটপুট দেয় start

উদাহরণ

"10am-12pm"
10+11+12= 33

[01:00, 05:00]
1+2+3+4+5 = 15

[11, 15]
11+12+1+2+3 = 29

[10:00pm, 10:00am]
10+11+12+1+2+3+4+5+6+7+8+9+10 = 88

শুরু যদি শেষের সমান হয় তবে আপনি কেবল সেই ঘন্টার জন্য চিমের সংখ্যাকে কেবল আউটপুট করুন:

[5pm, 5pm]
5 = 5

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

বিঃদ্রঃ:

  • ইনপুটগুলি এক দিনের বেলা থেকে পরের দিন সকাল পর্যন্ত বিস্তৃত হতে পারে।
  • দুই সময়ের মধ্যে পার্থক্যটি কখনই 24 ঘণ্টার বেশি হবে না।
  • আপনার ইনপুটটি কী ফর্ম্যাট clearly
  • আপনার ইনপুট অবশ্যই AM এবং প্রধানমন্ত্রীর মধ্যে একটি স্পষ্ট পার্থক্য থাকতে হবে ।

2
আমরা কি আমাদের নিজস্ব ইনপুট পদ্ধতিটি বেছে নিই, বা উল্লিখিত সমস্তগুলিকে সমর্থন করতে হবে?
বেনামে

1
আপনি ইনপুট পদ্ধতিটি চয়ন করতে পারেন
শান ওয়াইল্ড

1
আপনি এটা আরো স্পষ্ট যে ইনপুট থেকে যেতে পারেন করা উচিত pmকাছে amএইভাবে একটি 2nd দিন পার।
mbomb007

3
মধ্যরাত 0 বা 24 হিসাবে দেওয়া হবে?
xnor

4
আমরা স্যান্ডবক্সকে মূল সাইটে পোস্ট করার আগে চ্যালেঞ্জগুলির সাথে কোনও সমস্যা সমাধানের জন্য উত্সাহিত করি ।
মেগো

উত্তর:


12

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

f=(x,y)=>~-x%12-~(x-y&&f(x%24+1,y))

পুনরাবৃত্তভাবে মোট বেল রিংয়ের বর্তমান সংখ্যা যুক্ত করে। যাকে বলে f(11,15); মধ্যরাত হিসাবে প্রতিনিধিত্ব করা হয় 24@ Xnor এর পাইথন উত্তর~- থেকে আমি কৌশলটির অংশ পেয়েছি ।

পরীক্ষার স্নিপেট

অ-পুনরাবৃত্ত সংস্করণ (ফায়ারফক্স 30+), 56 বাইট

(x,y,t=0)=>[for(_ of Array((y-x+25)%24))t+=x++%12||12]|t

নিম্নলিখিত ES6 ফাংশনের সমতুল্য:

(x,y,t=0)=>[...Array((y-x+25)%24))].map(_=>t+=x++%12||12)|t

7

পাইথন 2, 46 বাইট

f=lambda x,y:(x%12or 12)+(x-y and f(-~x%24,y))

আমার জেএস উত্তরের উপর ভিত্তি করে। রিকার্সিভ সূত্র সমাধান জন্য তাই হিসাবে সংজ্ঞায়িত করা হয়:

  1. দুটি পূর্ণসংখ্যা x এবং y দিয়ে শুরু করুন ।
  2. এক্স মড 12 নিন ; এটি যদি 0 হয়, পরিবর্তে 12 নিন
  3. যদি x! = Y হয় তবে f (x + 1 mod 24, y) এর ফলাফল যুক্ত করুন

6

পাইথন 2, 59 54 বাইট

a=lambda x,y:sum(1+i%12for i in range(x-1,y+24*(x>y)))
সমতুল্য
summ=0
if start > end:
    end+=24
for hour in range(start-1,end):
    summ +=1+hour%12
print summ

3
আমি মনে করি আপনার a=অংশের দরকার নেই ।
অ্যাক্রোলিথ

@ দাগ হাগলেনি এটির একটি পূর্ণ (ব্যবহারযোগ্য) ফাংশন হওয়া দরকার
রোড


1
@Rod আপনি প্রয়োজন নেই a=। এটি খাঁটি ল্যাম্বডা হওয়ার অনুমতি রয়েছে।
ইয়াতসি

1
@ ভ্লাদিমিরক্রেরো অবশ্যই না। এটা যেমন হয় y%24
এরিক আউটগল্ফার


3

পাইথন, 42 বাইট

f=lambda a,b:~-a%12-~(b-a and f(-~a%24,b))

একটি পুনরাবৃত্ত ক্রিয়াকলাপ যা 0 থেকে 23 পর্যন্ত দুটি সংখ্যা নেয় gives ~xএর দেওয়া প্রসারিত করা-x-1

f=lambda a,b:(a-1)%12+1+(b-a and f((a+1)%24,b))

অভিব্যক্তিটি (a+1)%12+1সময়কে রিংয়ের সংখ্যায় রূপান্তর করে1 করে 12। তারপরে, নিম্ন সীমাটি ইনক্রিমেন্ট মডিউল 24 এবং পুনরাবৃত্তির ফলাফলের জন্য ফাংশন যুক্ত করা হয়। এটি হ'ল যদি বর্তমান সময়টি শেষ সময় না হয়, তবে আমরা থামি না।

আমি পরিবর্তে একটি নিখুঁত গাণিতিক সমাধান লেখার চেষ্টা করেছি, তবে এখনও পর্যন্ত আমি কেবল দীর্ঘ এবং অগোছালো এক্সপ্রেশন পেয়েছি।


আহ, আমি এটি পেয়েছি: এটি মূলত আমার পাইথন উত্তরের মতো একই কৌশল, তবে এর কাছাকাছি যাওয়ার খুব চতুর উপায় or। সুন্দর!
ইটিএইচ প্রোডাকশনস

3

হাস্কেল, 48 43 বাইট

s%e=sum[mod x 12+1|x<-[s-1..e+23],x<e||s>e]

startHour % endHourউভয় ইনপুট 24-ঘন্টা বিন্যাসে দেওয়া সহ ব্যবহার ।

সম্পাদনা: যোগ করেছেন @ এক্সনোরের উন্নতি, 5 টি বাইট সংরক্ষণ করা


পরিবর্তন করার পরিবর্তে eযখন e<s, আপনি পরিসীমা ফিল্টার পারে s%e=sum[mod(x-1)12+1|x<-[s..e+24],x<=e||s>e]। তখনই সংরক্ষণ শিফট করার জন্য একটি বাইট 1 দ্বারা নিচে x: s%e=sum[mod x 12+1|x<-[s-1..e+23],x<e||s>e]
xnor

3

সি #, 73 বাইট

a=>b=>{int x=0;for(;;){x+=(a%=24)>12?a-12:a<1?12:a;if(a++==b)return x;}};

গ্রহণযোগ্য ইনপুট: পরিসীমা [0,23] এ পূর্ণসংখ্যা।

এই সমাধানটি লিনকিউ ব্যবহার করে না।


পরীক্ষার কেস সহ সম্পূর্ণ প্রোগ্রাম:

using System;

namespace HowManyTimesABellTowerRings
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<int,Func<int,int>>f= a=>b=>{int x=0;for(;;){x+=(a%=24)>12?a-12:a<1?12:a;if(a++==b)return x;}};

            Console.WriteLine(f(10)(12));   //33
            Console.WriteLine(f(1)(5));     //15
            Console.WriteLine(f(11)(15));   //29
            Console.WriteLine(f(22)(10));   //88
            Console.WriteLine(f(10)(10));   //10
            Console.WriteLine(f(11)(10));   //156
            Console.WriteLine(f(0)(23));    //156
            Console.WriteLine(f(22)(1));    //34
        }
    }
}

3

জেলি , 17 16 15 14 বাইট

>×24+⁹⁸r’%12‘S

TryItOnline

কিভাবে?

>×24+⁹⁸r’%12‘S - Main link: a, b (24 hr integers, midnight may be 0 or 24)
>              - a>b? (1 if true, 0 if false)
 ×24           - times 24 (24 if a>b, else 0)
    +⁹         - add to b (b+24 if a>b, else b)
      ⁸        - a
       r       - range(a, b+24 or b) ([a,a+1,...,b+24 or b])
        ’      - decrement (vectorises) ([a-1,a,...,b+23 or b-1])
         %12   - mod 12 (vectorises) (number of tolls at each occurrence - 1)
            ‘  - increment (vectorises) (number of tolls at each occurrence)
             S - sum

2

এমএটিএল , 14 বাইট

yy>24*+&:12X\s

ইনপুট ফর্ম্যাট চ্যালেঞ্জের তৃতীয় উদাহরণের মতো, এটি, 24 ঘন্টা বিন্যাসে দুটি সংখ্যা।

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

ব্যাখ্যা

ইনপুট নাও 22, 10একটি উদাহরণ হিসাবে।

yy      % Take two inputs implicitly. Duplicate both
        %   STACK: 22, 10, 22, 10
>       % Is the first greater than the second?
        %   STACK: 22, 10, 1
24*     % Multiply by 24
        %   STACK: 22, 10, 24
+       % Add
        %   STACK: 22, 34
&:      % Binary range
        %   STACK: [22 23 24 25 26 27 28 29 30 31 32 33 34]
12X\    % Modulo 12, 1-based
        %   STACK: [10 11 12 1 2 3 4 5 6 7 8 9 10]
s       % Sum of array
        %   STACK: 88
        % Implicitly display

2

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

1 এবং 24 এর মধ্যে ইনপুট ফর্ম্যাট '[1,24]'

এই চ্যালেঞ্জের মধ্যে যে পিএইচপি অন্যান্য ভাষার তুলনায় আমি কেন ঘৃণা করি। আমি আমার সমস্ত ধারণা প্রদর্শন করতে পছন্দ করি। হতে পারে অন্য কোনও পিএইচপি ক্র্যাক একটি সংক্ষিপ্ত সমাধান খুঁজে পাবে।

<?list($f,$g)=$_GET[b];for($i=$f;$i-1!=$g|$f>$g&!$c;$s+=$i++%12?:12)$i<25?:$c=$i=1;echo$s;

99 বাইট

<?for($i=($b=$_GET[b])[0],$c=($d=$b[1]-$b[0])<0?25+$d:$d+1;$c--;$s+=$i++%12?:12)$i<25?:$i=1;echo$s;

113 মিনিট এবং সর্বাধিক সহ একটি উপায় বাইট

<?for($i=min($b=$_GET[b]);$i<=$m=max($b);)$s+=$i++%12?:12;echo($b[0]>$b[1])?156-$s+($m%12?:12)+($b[1]%12?:12):$s;

ঠিক আছে এই পাগল ধারণা একটি অ্যারের 149 বাইট অ্যারের পূরণ সাথে কাজ করে $y[0]এবং $y[1]যদি $_GET["b"][0]<=$_GET["b"][1] যদি $y[1]হয় nullআমরা এই অ্যারের যোগফল করতেarray_diff_key($y[0],array_slice($y[0],$b[1],$b[0]-$b[1]-1,1))

<?for(;++$i<25;)$y[$i>=($b=$_GET[b])[0]&$i<=$b[1]][$i]=$i%12?:12;echo array_sum($y[1]??array_diff_key($y[0],array_slice($y[0],$b[1],$b[0]-$b[1]-1,1)));

এটি 124 বাইট নিচে গল্ফ করা যেতে পারে

<?for(;++$i<25;)$x[($v=($b=$_GET[b])[0]>$b[1])?$i<$b[0]&$i>$b[1]:$i>=$b[0]&$i<=$b[1]][$i]=$i%12?:12;echo array_sum($x[!$v]);

এখন এই সময়ে আমরা কেবল দুটি ints 101 বাইট সঙ্গে অ্যারে কমে যায় 2 অঙ্কের করুন $x[0]এবং$x[1]

list($f,$g)=$_GET[b];

$v=($f>$g তারপরে যদি অন্যটির সাথে মান $x[$i<$f&$i>$g] যুক্ত হয় $x[$i>=$f&$i<=$g] তবে আউটপুটটিতে মান যুক্ত হওয়া সন্ধান করা হবেecho$x[!$v];

<?list($f,$g)=$_GET[b];for(;++$i<25;)$x[($v=$f>$g)?$i<$f&$i>$g:$i>=$f&$i<=$g]+=$i%12?:12;echo$x[!$v];

এর পরে আমি ফলাফলটি 112 বাইট সরাসরি গণনা করার একটি উপায় খুঁজে পেয়েছি

<?list($x,$y)=$_GET[t];echo(($b=$x>$y)+(($x-($s=$x%12?:12)^$y-($t=$y%12?:12))xor$b))*78-($s*($s-1)-$t*($t+1))/2;

পুনরাবৃত্তি 103 বাইট

<?list($x,$y)=$_GET[t];function f($x,$y){return($x%12?:12)+($x-$y?f(++$x<25?$x:1,$y):0);}echo f($x,$y);

2

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

list(,$i,$a)=$argv;for($a+=$i>$a?24:0;$i<=$a;)$n+=$i++%12?:12;echo$n;

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

24 ঘন্টা সময় হিসাবে ইনপুট নেয় (0 বা 24 এর সাথে জরিমানা)। এর মতো চালান:

php -r "list(,$i,$a)=$argv;for($a+=$i>$a?24:0;$i<=$a;)$n+=$i++%12?:12;echo$n;" 9 18

$i>$a?24:0($i>$a)*24 wiki.php.net/rfc/short_list_syntax এর সমান দৈর্ঘ্য রয়েছে সম্ভবত আপনি সংক্ষিপ্ত তালিকার সিনট্যাক্সটি ব্যবহার করতে চান যা 7.1 [$x,$i,$a]=$argv;-2 বাইটে নতুন যা আমি পরীক্ষা না করেছিলাম যে আমি এটি ব্যবহার করব না। এখন আর আমি আমাকে আরও ঘৃণা করি যে আমি এইভাবে পাইনি।
জার্গ হালসারম্যান

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

2

জাভা, 72 71 78 76 বাইট

Usage: 
    pm:    true if first time is past 11am
    time:  first time%12
    pm2:   true if second time is past 11am
    time2: second time%12

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

  • -1 বাইট বন্ধ। @ 1 ডারকো 1 কে ধন্যবাদ
  • স্থির ফাংশন মাথা। +7 বাইট চালু আছে।
  • -২ বাইট বন্ধ। কেভিন ক্রুইজসেনকে ধন্যবাদ
  • +2 বাইট চালু আছে। এখন e/ clockআরম্ভ করা হয়।

(a,b,c,d)->{int e=0;b+=a?12:0;d+=c?12:0;for(;b!=d;e+=b%12,b=++b%24);return e;}

Ungolfed:

public static int clock(boolean pm, int time, boolean pm2, int time2){
  int clock=0;
  time+=pm?12:0;
  time2+=pm2?12:0;
  while(time!=time2){
    clock+=time%12;
    time=++time%24;
  }
  return clock;
}

আপনি কোথায় সংজ্ঞায়িত করেন a, এবং d, এবং b? সম্পূর্ণ পদ্ধতিটি বোধগম্য হয়, তবে যতক্ষণ না আমি মারাত্মকভাবে কিছু মিস করছি, আমি মনে করি আপনাকে আবার আপনার গল্ফযুক্ত ল্যাম্বডায় ফিরে তাকানো উচিত এবং বাস্তবে এটি কার্যকর করার চেষ্টা করা উচিত। আরও গল্ফিংয়ের জন্য: (time+1)হয়ে উঠতে পারে ++time
ডার্কো 1

গল্ফযুক্ত অংশে একটি ত্রুটি রয়েছে: a+=a?হওয়া উচিত b+=a?। এছাড়াও, আপনি এটি পরিবর্তন করে 2 বাইট দ্বারা গল্ফ করতে পারেনwhile একটি bodyless মধ্যে forভালো:(a,b,c,d)->{int e;b+=a?12:0;d+=c?12:0;for(;b!=d;e+=b%12,b=++b%24);return e;}
কেভিন Cruijssen

দুঃখিত। আমি এই পদ্ধতিটি আমার মোবাইল থেকে লিখেছি এবং এটি পরীক্ষা করতে পারিনি। সংশোধন করা হয়েছে। :)
রোমান গ্রাফ

1

কিউবিআইসি , 90 47 বাইট

সুতরাং, এখানে উত্তর প্রিন্টিং কেবলমাত্র বেল-রিংয়ের মোট সংখ্যা:

::{c=a~c>12|c=c-12]d=d+c~a=b|_Xd]a=a+1~a>24|a=1

ইনপুট সীমার মধ্যে রয়েছে 1-24; aএবং bইনপুটগুলি ( ::কোডে) থাকে, cam / pm অবধি ট্র্যাক করে রাখে, dএটি হল রিংয়ের মোট সংখ্যা। যখন আমরা সমস্ত ঘন্টা গণনা করি, _Xdপ্রোগ্রামটি শেষ করি, dপ্রক্রিয়াটি মুদ্রণ করি ।


ঠিক আছে, আমি প্রশ্নটি ভুল বুঝেছি এবং ভেবেছিলাম 1+2+3...=পাঠ্যটি আউটপুটটির অংশ, তাই আমি লিখেছিলাম:

::{c=a~c>12|c=c-12]X=!c$Z=Z+X+@+| d=d+c~a=b|?left$$|(Z,len(Z)-1)+@ =|+!d$_X]a=a+1~a>24|a=1

এখন, আমি সঠিক উত্তর কোড করব ...


1

পাইথ - 11 বাইট

s|R12%R12}F

টেস্ট স্যুট


2
এটি মধ্যরাতের আশেপাশে গণনা করে না, উদাহরণস্বরূপ 23, 1আউটপুটগুলি 144কখন আউটপুট হয় 24। (এই জাতীয় ঘটনা অবশ্যই অবশ্যই পরীক্ষাগুলিতে থাকা উচিত!)
জোনাথন অ্যালান

1

সি #, 76 বাইট

(a,b)=>Enumerable.Range(a,Math.Abs(b-a)+1).Select(n=>n%12==0?12:n%12).Sum();

এটি দেখে মনে হচ্ছে না যে এটি প্রায় মধ্যরাতে জড়িয়ে যায়।
নীল

সমস্ত পরীক্ষার কেস সফল
ডাউনরেপ_নেশন

আমি এটা জিজ্ঞাসা করিনি।
নীল

তাহলে আপনার কোন পরীক্ষার ক্ষেত্রে আমার প্রয়োগটি ব্যর্থ হয়?
ডাউনরেপ_নেশন

a=23এবং b=0এটি সবচেয়ে সুস্পষ্ট উদাহরণ বলে মনে হচ্ছে।
নিল

1

পার্ল, 36 বাইট

এর জন্য +1 অন্তর্ভুক্ত -p

এসটিডিআইএন-এর প্রতিটি লাইনে 24-ঘন্টা বিন্যাসে শুরু এবং শেষ সময় দিন:

toll.pl
11
15
^D

toll.pl:

#!/usr/bin/perl -p
$\+=$_%12||12for$_..$_+(<>-$_)%24}{

1

জাভা 7, 64 বাইট

int c(int x,int y){return(x%12<1?12:x%12)+(x!=y?c(-~x%24,y):0);}

@ETHProductions এর পাইথন 2 উত্তরের উপর ভিত্তি করে রিকার্সিভ পদ্ধতি । 24 ঘন্টা একটি ঘড়ি ইনপুট ব্যবহার করে।

অবরুদ্ধ এবং পরীক্ষার কোড:

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

class M{
  static int c(int x, int y){
    return (x%12 < 1
             ? 12
             : x%12)
         + (x != y
             ? c(-~x % 24, y)
             : 0);
  }

  public static void main(String[] a){
    System.out.println(c(10, 12));
    System.out.println(c(1, 5));
    System.out.println(c(11, 15));
    System.out.println(c(10, 22));
    System.out.println(c(5, 5));
  }
}

আউটপুট:

33
15
29
88
5

1

ব্যাচ, 168 91 বাইট

@cmd/cset/ax=(%1+23)%%24,y=x+(%2+24-%1)%%24,z=y%%12+1,(y/12-x/12)*78+z*-~z/2-(x%%=12)*-~x/2

সম্পাদনা করুন: উত্তরের জন্য একটি বন্ধ ফর্মে স্যুইচ করে 77 বাইট সংরক্ষণ করা হয়েছে।

  • %1এবং %2দুটি কমান্ড-লাইন পরামিতি
  • @ কমান্ড প্রতিধ্বনিত করার জন্য ব্যাচের ডিফল্ট অক্ষম করুন
  • cmd/c অবিলম্বে গণনার ফলাফল মুদ্রণ করতে বোল ফুল
  • set/a একটি সংখ্যার গণনা সম্পাদন করুন
  • x=(%1+23)%%24, প্রারম্ভিক ঘন্টাটিকে 1am সাল থেকে ঘন্টার সংখ্যা হিসাবে সাধারণ করুন (1PM এছাড়াও কাজ করবে, তবে 11 টি 23 এর চেয়ে কম নয়)
  • y=x+(%2+24-%1)%%24, প্রারম্ভিক ঘন্টাটির আগে হতে শেষের সময়টি স্বাভাবিক করুন, প্রয়োজনে পরের দিন অগ্রসর হোন
  • z=y%%12+1, শেষ ঘন্টাটিতে আঘাত করা ঘণ্টা সংখ্যা
  • (y/12-x/12)*78+ অতিরিক্ত আধ ঘন্টা কারণে ঘন্টার সংখ্যা
  • z*~-z/2- বেলা ১ টা থেকে শেষ ঘন্টা সহ অন্তর্ভুক্ত ঘন্টাটির সংখ্যা
  • (x%%=12) শুরুর মুহুর্তে ঘণ্টা মারার সংখ্যার চেয়ে কম
  • *-~x/2 ঘন্টা বাজে যা শুরু হতে পারে 1 টা থেকে শুরু ঘন্টা, কিন্তু শুরু ঘন্টা সহ না

1

সি, 56 বাইট

f(a,b,c=0){while(b-->a){c+=b>12?b-12:b;}printf("%d",c);}

1

> <> , 48 + 2 = 50 বাইট

<v$&%$-&:$+}:*2c
{>:?!v1-}:1+
v?=1l<++1%c+b$
>n;

প্রোগ্রাম শুরুর সময় ইনপুটটি স্ট্যাকটিতে উপস্থিত থাকার আশা করা যায়, সুতরাং এর জন্য +2 বাইট -v পতাকাটির । ইনপুট হল দুটি পূর্ণসংখ্যা যা 24 ঘন্টা ঘড়ির মধ্যে ঘন্টা নির্দিষ্ট করে, তাই 10am - 10pmদেওয়া হবে 10 22

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


@LuisMendo ধন্যবাদ, এটা এখন সংশোধন হচ্ছে
সোক

1

কিউবিক্স , 45 44 বাইট

1 বাইট সংরক্ষণ করা হয়েছে, @ETH প্রোডাকশনগুলির জন্য ধন্যবাদ

কিউবিক্সে আমার প্রথম প্রচারণা ...

)$424tU4OI0Iuq;;-!^;^%&21u+rr;ss!;sqU>&%r$@;

বা, ঘনক্ষেত্র:

      ) $ 4
      2 4 t
      U 4 O
I 0 I u q ; ; - ! ^ ; ^
% & 2 1 u + r r ; s s !
; s q U > & % r $ @ ; .
      . . .
      . . .
      . . .

আপনি এটি অনলাইন দোভাষীর মাধ্যমে চেষ্টা করে দেখতে পারেন । ইনপুটটি 24 ঘন্টা বিন্যাসে, শেষ সময়টি প্রথম সহ। উদাহরণস্বরূপ, বিকাল ৫ টা থেকে সকাল 1 টা পর্যন্ত ইনপুট হওয়া উচিত1 17


পূর্ববর্তী সংস্করণ, 45 বাইট:

)$442t\/OI0Iuq;;-!^;^%&21u+rr;ss!;sqU>&%r$@.;

1
আমার ভাষা এবং দুর্দান্ত কাজটি ব্যবহার করার জন্য আপনাকে ধন্যবাদ :-) আমি একটি ছোট্ট বাইট দেখতে পাচ্ছি যা আপনি সামান্য পুনরায় )$424tU4OI0Iuq;;-!^;^%&21u+rr;ss!;sqU>&%r$@;
সাজিয়ে

0

কিবাসিক, 112 বাইট

input "",a
input "",b
do
if a=25 then a=1
if a<=12 then
c=c+a
else
c=c+a-12
endif
a=a+1
loop until a=b+1
print c

যখন শুরু এবং শেষের উভয় ঘন্টা শূন্য হয় তখন আপনার 12 আউটপুট করা উচিত নয়?
নীল

0

পাইথন, 73 বাইট

যদি আমাদের সমর্থন না করা হয় তবে এটি এত সংক্ষিপ্ত pmহবে am। আমি এটি সমর্থন করতে পুনরাবৃত্তি ব্যবহার করি।

f=lambda a,b:sum([~-i%12+1for i in range(a,b+1)]*(a<b)or[f(a,24),f(1,b)])

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

সমর্থনকারী ছাড়া pmকরার am(45 বাইট):

lambda a,b:sum(~-i%12+1for i in range(a,b+1))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.