অদ্ভুত গ্রেডিং সিস্টেম


14

ওয়েয়ারডো ইনকরপ্রেটস তাদের অফিসে যে দিন উপস্থিত ছিলেন তার দ্বারা তাদের কর্মীদের গ্রেড দেওয়ার একটি অদ্ভুত উপায় রয়েছে:

  0 -  13 : F  
 14 - 170 : E
171 - 180 : D
181 - 294 : C
295 - 300 : B
301 - 365 : A

Note: The range is inclusive (i.e. 0-13 means 0 days and 13 days both will evaluate
as grade 'F').

উদ্দেশ্য:

কোনও কর্মসূচি / ফাংশন লিখুন যা কর্মচারীর দ্বারা অংশ নেওয়া [০-৩65৫ সমেত অন্তর্ভুক্ত] দিনের সংখ্যার জন্য কোনও কর্মীর গ্রেড আউটপুট / প্রদান করে।

নিয়মাবলী:

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

পরীক্ষার কেস:

12  => F
15  => E
301 => A
181 => C

স্কোরবোর্ড:





1
@ মিঃ এক্সকোডার আমি স্মরণ করি যে এটি স্যান্ডবক্সে আলোচনা করা হয়েছিল যে এটির কোনও ছাপ নয় কারণ এটিতে সমান আকারের রেঞ্জ নেই এবং +/ এর মতো প্রত্যয়ও রয়েছে -
এরিক আউটগল্ফার

1
আমরা কি স্কোরবোর্ড পেতে পারি?
jrtapsell

উত্তর:


4

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

NịØAx“A©r½ɗÇ‘¤

একটি মোনাডিক লিঙ্ক একটি সংখ্যা নিয়েছে এবং একটি চরিত্র ফিরিয়ে আনছে।

এটি অনলাইন চেষ্টা করুন! বা সমস্ত ইনপুট-আউটপুট জোড়া দেখুন

কিভাবে?

NịØAx“A©r½ɗÇ‘¤ - Link: number, d
N              - negate d
             ¤ - nilad followed by link(s) as a nilad:
  ØA           -   uppercase alphabet yield = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
     “A©r½ɗÇ‘  -   code-page indices = [65,6,114,10,157,14]
    x          -   times = 'A'x65+'B'*6+'C'x114+'D'x10+'E'*157+'F'*14
 ị             - index into (1-indexed & modular - hence the negation to allow all Fs
                                                   to be together at one end)

12

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

n=>"ABCDEF"[(n<14)+(n<171)+(n<181)+(n<295)+(n<301)]

বিকল্প সমাধান (দীর্ঘতর):

53 52 বাইট (@ অরনাউল্ডকে -1 বাইট ধন্যবাদ)

n=>"FEDCBA"[n>300?5:n>294?4:n>180?3:n>170?2:+(n>13)]

55 53 বাইট (-2 বাইট @ নীলকে ধন্যবাদ)

n=>"AFEDCB"[[14,171,181,295,301].findIndex(m=>n<m)+1]

55 বাইট

n=>"FEDCBA"[[13,170,180,294,300].filter(m=>n>m).length]

কোড স্নিপেট উদাহরণ:

f=
n=>"ABCDEF"[(n<14)+(n<171)+(n<181)+(n<295)+(n<301)]
console.log(f(12))
console.log(f(15))
console.log(f(301))
console.log(f(181))


1
শর্তগুলির সংমিশ্রণটি দুর্দান্ত !!! আমি আবার একবার upvote করতে চাই !!! : ডি
অফিসিয়ালাইম

আপনার বিকল্প সমাধানগুলির মধ্যে একটিতে আমি দুটি বাইট সংরক্ষণ করতে পারি:n=>"AFEDCB"[[14,171,181,295,301].findIndex(m=>n<m)+1]
নীল

-1 আপনার প্রথম বিকল্প সমাধান জন্য বাইট:n=>'FEDCBA'[n>300?5:n>294?4:n>180?3:n>170?2:+(n>13)]
Arnauld

7

টিআই-বেসিক, 40 বাইট

sub("FEDCBA",sum(Ans≥{0,14,171,181,295,301}),1

6

জে , 31 বাইট

'FEDCBA'{~13 170 180 294 300&I.

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

ব্যাখ্যা

'FEDCBA'{~13 170 180 294 300&I.  Input: n
          13 170 180 294 300     Constant array [13, 170, 180, 294, 300]
                            &I.  Use it with interval index to find which of
                                 the intervals (-∞, 13], (13, 170], (170, 180],
                                 (180, 294], (294, 300], (300, ∞) n can be inserted at
        {~                       Index into
'FEDCBA'                         This string and return that char

আমি প্রথম I.বন্য মধ্যে dyadic দেখেছি । ঝরঝরে।
কোলে

@ কোল আমার বিশ্বাস আমি কোড-গল্ফে অতীতে দু'বার ব্যবহার করেছি used
মাইল

6

পাইথন 3 , 50 বাইট

@ জেফারার্ড -4 বাইটের জন্য ধন্যবাদ

lambda n:chr(70-sum(n>ord(x)for x in"\rª´ĦĬ"))

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

পাইথন 3 , 54 বাইট

lambda n:chr(70-sum(n>x for x in[13,170,180,294,300]))

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

@ মঠমান্ডনে 2 বাইট সংরক্ষণ করা হয়েছে, এবং পরোক্ষভাবে @ জোনাথনফ্রেচকে ধন্যবাদ।

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

lambda n:"ABCDEF"[sum(n<x for x in[14,171,181,295,301])]

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


1
54 বাইট: lambda n:chr(70-sum(n>x for x in[13,170,180,294,300]))। ( কোডগলফ.স্ট্যাকেকেক্সচেঞ্জ / এ / ১৪২৪৪৪/৩68৮৫৮ এ @ জোনাথন ফ্রেচের উত্তর দেখুন )
ম্যাথমান্ডান


রুবি পোর্ট: ->n{(70-"ĬĦ´ª\r".chars.count{|i|n>i.ord}).chr}একই আকার
Asone Tuhid

4

সি, 62 61 বাইট

বাইট সংরক্ষণের জন্য @ জনাথন ফ্রেঞ্চকে ধন্যবাদ!

f(n){putchar(70-(n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5));}

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

সি, 57 বাইট

#define f(n)70-(n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5)

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

সি (জিসিসি), 54 বাইট

f(n){n=70-(n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5);}

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

সি (জিসিসি), 50 বাইট

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

f(n){n=65+(n<14)+(n<171)+(n<181)+(n<295)+(n<301);}

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



আপনার মূল সমাধান হিসাবে সংক্ষিপ্ততম সংস্করণ জমা দেবেন না কেন?
শেগি

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

3

কোটলিন , 56 বাইট

{v->'F'-listOf(13,170,180,294,300).filter{it<v}.count()}

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

শোভিত

{ v->
    // Count the grades passed, then subtract that from F
    'F' - listOf(13,170,180,294,300)
            .filter { it < v }
            .count()
}

পরীক্ষা

var x:(Int)->Char =
{v->'F'-listOf(13,170,180,294,300).filter{it<v}.count()}

fun main(args: Array<String>) {
    println(x(12))
    println(x(15))
    println(x(301))
    println(x(181))
}

+1 টি। আমি আপনার উত্তরটি আরও আনুষ্ঠানিক বিন্যাসে সম্পাদনা করেছি, আশা করি আপনি আপত্তি করবেন না।
officialaimm

মোটেও নয়, আমি ডান
শিরোনামটি

3

জাপট , 23 21 বাইট

'Gc-[#ªT#´D294L*3]è<U

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


Explantion

পূর্ণসংখ্যার অন্তর্নিহিত ইনপুট U

'Gc-

(একক অক্ষর) স্ট্রিংয়ের কোডপয়েন্টগুলি থেকে বিয়োগ করুন G...

è<U

এর চেয়ে কম উপাদানগুলির সংখ্যা U...

[#ªT#´D294L*3]

170 ( ), 0 ( T), 180 ( ), 13 ( D), 294 (আক্ষরিক) এবং 300 ( L*3) এর অ্যারেতে তাই ফর্ম্যাট করে এবং ডিলিমেটিং কমা ব্যবহার এড়াতে আদেশ দিয়েছেন। 0অপসারণ করা যেতে পারে ( Fপরিবর্তে কোডপয়েন্ট থেকে বিয়োগ করে) তবে তারপরে একটি কমা যুক্ত করতে হবে বা C*F(12 * 15) ব্যবহার করা হবে 180, শেষ পর্যন্ত কোনও বাইট সংরক্ষণ করা উচিত নয়।


3

আর , 50 44 বাইট

LETTERS[6-sum(scan()>c(13,170,180,294,300))]

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

জাভাস্ক্রিপ্ট উত্তরের মতোই, তবে আর এর ভেক্টরাইজেশন এবং লেটারগুলি অন্তর্নির্মিতভাবে একটি ছোট্ট বিস্তৃত আকারে আসতে ব্যবহার করে।

শেষ 6 বাইট বন্ধ করে দেওয়ার জন্য rturnbull ধন্যবাদ ।



আসলে, কোনও ফাংশনের পরিবর্তে এটি একটি সম্পূর্ণ প্রোগ্রাম তৈরি করে 44 বাইট
rturnbull

@ আর্টারনবুল আহ, আমি বলছিলাম "আপনাকে এটিকে মোড়ানোর দরকার নেই catঅন্যথায় একটি পতাকা হিসাবে ব্যবহার source(program,ec=T)এবং গণনা ec=Tকরা দরকার (আর প্রোগ্রামগুলিতে মেটা conক্যমত্য অনুসারে ), তবে অন্যটি দ্বারা, নতুন মেটা sensকমত্যের সাথে আমরা পতাকাগুলি গণনা করি না আর আমি তাই একটি পুরোপুরি বৈধ সমাধান যে।
: Giuseppe


2

রিকার্সিভা , 49 30 বাইট

Y(++++<a301<a295<a181<a171<a14

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

আমাকে নিজের ভাষায় আমার নিজের প্রশ্নের উত্তর দেওয়ার অনুমতি দিন। : ডি

  • @ হারমান লাউনস্টেইনের আশ্চর্যজনক জেএস উত্তর থেকে কৌশলটি ব্যবহার করে 19 বাইট সংরক্ষণ করেছেন

ব্যাখ্যা:

Y(++++<a301<a295<a181<a171<a14
      <a301<a295<a181<a171<a14 calculate true/false for all the conditions
  ++++                         sum up all the conditions to obtain n which can be either 0,1,2,3,4 or 5
 (                             yield upper-case Alphabet
Y                              Get n-th element   


2

পাইকে , 28 বাইট

G6<13T17*180T30*294]5FhQ>)s@

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

ব্যাখ্যা

G6<13T17*180T30*294]5FhQ>)s@ - Full program. T is the constant for 10.

G                            - The lowercase alphabet.
 6<                          - With the letters after the index 6 trimmed.
   13                        - The literal 13.
     T17*                    - The integer 170, composed by 17 * 10, to save whitespace.
         180                 - The literal 180.
            T30*             - The integer 300, composed by 30 * 10. 
                294          - The literal 294.
                   ]5        - Create a list of 5 elements.
                     FhQ>)   - For each element in the list.
                      h      - Increment.
                       Q     - The input.
                        >    - Is smaller ^^ than ^? Yields 1 for truthy and 0 for falsy.
                         )s  - Close loop and sum.
                           @ - Get the index in the alphabet substring explained above.


1

পাইথ, 30 বাইট

@GtlfgTQmCdc"\r ª ´ & , m"d

সাইট, কোড বিন্দু 1 অক্ষর দেখানোর তাই আপনি আগে কোড বিন্দু 1 অক্ষর সন্নিবেশ করাতে প্রয়োজন বলে মনে হচ্ছে না &, ,এবংm শেষে

( 1কোড পয়েন্ট 1 দিয়ে অক্ষরের সাথে সমস্তগুলি প্রতিস্থাপন করুন ):

@GtlfgTQmCdc"\r ª ´ 1& 1, 1m"d

1

পাইথ , 25  26  বাইট

@<G6sgRQ[13*17T180*30T294

সমস্ত পরীক্ষার কেস যাচাই করুন।

ব্যাখ্যা

@<G6sgRQ[13*17T180*30T294 - Full program.

  G                       - The lowercase alphabet.
 < 6                      - With the letters after the index 6 trimmed. We will call "S".
        [                 - Initialise a list literal.
         13               - The literal 13.
           *17T           - The integer 170, composed by 17 * 10, so save whitespace.
               180        - The literal 180.
                      294 - The literal 294.
                  *30T    - The integer 300, composed by 30 * 10.
     gRQ                  - For each element, return 1 if is is ≥ the input. 0 otherwise.
    s                     - Sum.
@                         - Get the index into S of ^.
                          - Output implicitly.         

1

লাই , 74 বাইট

n(14)L["F"o;]p(171)L["E"o;]p(181)L["D"o;]p(195)L["C"o;]p(301)L["B"o;]"A"o;

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

একটি সাধারণ যদি চেইন পদ্ধতির। আমি সন্দেহ করি এটি আরও খাটো করা যায়।


Para প্যারান্থেসিস কি (...)প্রয়োজনীয়? পিএস এনভিএম, স্পষ্টত তারা।
অফিসিয়ালাইম


1

জাভা 8, 55 বাইট

n->n<14?'F':n<171?'E':n<181?'D':n<295?'C':n<301?'B':'A'

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

বিকল্প 57 বাইট :

n->(char)(n<14?70:n<171?69:n<181?68:n<295?67:n<301?66:65)

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

বিকল্প 60 বাইট :

n->"FEDCBA".charAt(n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5)

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

শেষ ধরণের n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5ব্যবহারের চেয়ে কোনও প্রকারের সূত্রটি সংক্ষেপে 0-5 পাওয়া যাবে । এখনও এটি তদন্ত।


1

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

(,'F'*14+,'E'*157+,'D'*10+,'C'*114+,'B'*6+,'A'*65)["$args"]

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

জোনাথন অ্যালেনের জেলি জবাবের অনুরূপ - আমরা একসাথে সমস্ত চিঠিপত্রের একটি অ্যারে তৈরি করছি, তারপরে ইনপুট দিয়ে সেই অ্যারেটিতে সূচি রেখেছি $args


1

খরগোশ 50, 50 বাইট

(নন-কেপটিং, পোস্ট পোস্টস প্রশ্ন। আমি সবেমাত্র দোভাষী (ইয়ে) শেষ করেছি এবং চেষ্টা করে কিছু সমাধান করতে চেয়েছি This এটি আমার প্রথম কোড গল্ফের জিনিসও)

=>FEDCBA$<({.0-\_-^\-&^?n&&}_}\>\{{\>:.¤})Ð"ỤṅỌrḲA

এটি মূলত এক গ্রেড থেকে পরবর্তী 14,157,10,114,6,65 (একরকম হিসাবে এনকোড করা) এ পার্থক্যগুলি গ্রহণ করে ỤṅỌrḲA ) এবং ইনপুট থেকে বিয়োগফলগুলিতে । যদি কোনও নেতিবাচক নম্বর পাওয়া যায় তবে এটি 'ফেডসিবিএ' অনুক্রমের সাথে অগ্রগতি বন্ধ করে এবং চিঠিটি আউটপুট করে।

সিনট্যাক্সের এই সুন্দর টুকরোটির ছোট্ট ব্যাখ্যা

খরগোশ one আপনি ঘুরতে পারেন এমন এক বা একাধিক কেয়ার সহ গ্রিড ভিত্তিক মেমরি ব্যবহার করে; এই সমাধানটি 2 ব্যবহার করে।

=>FEDCBA$<({.0-\_-^\-&^?n&&}_}\>\{{\>:.¤})Ð"ỤṅỌrḲA - Full program.

  FEDCBA                                           - Load bytes into grid
                                          Ð"ỤṅỌrḲA - Load bytes 14,157,10,114,6,65 into second line of data grid
=                                                  - Read input
 >       <      _ ^   ^     _  >   >               - Move caret (most instructions read from the grid below the active caret)
        $                                          - Create a new caret
          (                              )         - Loop
           {.0             } }   {{     }          - Conditional statement checking if value at caret == 0 then move active caret to next grade else print and quit
              -  -  -                              - Subtract 
               \   \          \ \                  - Cycle active caret
                     &   &&                        - Bitwise and to see if number is negative
                       ?n                          - Get negative sign bit
                                    :.             - Print value at caret as character
                                      ¤            - Terminate program

খুশী হলাম। অনলাইনে চেষ্টা করার কোনও উপায় আছে কি?
officialaimm

এই মুহুর্তে নয় ^^
আদম

1

এক্সেল, 53 বাইট

শর্তগুলির যোগফল, তারপরে প্রয়োজনীয় ASCII চরিত্রটি প্রদান করে:

=CHAR((A1<14)+(A1<171)+(A1<181)+(A1<295)+(A1<301)+65)

বিকল্প সমাধান:

সামিং শর্ত, রিটার্ন স্ট্রিং সূচক (63৩ বাইট):

=MID("ABCDEF",(A1<14)+(A1<171)+(A1<181)+(A1<295)+(A1<301)+1,1)


1

জটলিন , 48 বাইট

{v->'F'-l(13,170,180,294,300).f{a<v}.l()}

পুরো প্রোগ্রাম:

var x:(Int)->Char =
{v->'F'-l(13,170,180,294,300).f{a<v}.l()}

println(x(12))
println(x(15))
println(x(301))
println(x(181))

আমার আগের কোটলিন উত্তর এখানে পোর্ট করা হয়েছে


1

ভি , 37 34 বাইট

aFEDCBA5äh113äh9äh156äh13ähÀ|vyVp

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

Hexdump:

00000000: 3133 4146 1b31 3536 4145 1b39 4144 1b31  13AF.156AE.9AD.1
00000010: 3133 4143 1b35 4142 1b36 3441 411b eec0  13AC.5AB.64AA...
00000020: 7c76 7956 70                             |vyVp

মৌলিক ধারণা:

  • ছাপা FEDCBA , বি এর 5 কপি তৈরি , সি এর 113 কপি তৈরি যার ফলে স্ট্রিং হয়FFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBA (এটি করার সম্ভবত আরও কার্যকর উপায় আছে)
  • nTh কলামে যান ( nপ্রথম যুক্তিটি), একটি একক অক্ষর অনুলিপি করুন এবং এটির সাথে পুরো স্ট্রিং প্রতিস্থাপন করুন।


1

পার্ল 6, 42 39 বাইট

{chr(65+[+] "\rª´ĦĬ".ords »>»$_)}


0

সি #, 110 বাইট

x=>{if(x<14)return"F";if(x<171)return"E";if(x<181)return"D";if(x<295)return"C";if(x<301)return"B";return"A";};

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


2
আপনি উল্লেখযোগ্যভাবে trinary অপারেটর ব্যবহার করে আপনার ল্যামডা খাটো করতে পারেন ?:যেমনx<14?"F":x<170?"E":x<180?"D":x<294?"C":x<300?"B":"A"
ব্র্যাডলি Uffner
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.