অ্যানো গেমসের জন্য সম্ভাব্য সমস্ত শিরোনাম তালিকাবদ্ধ করুন


37

ইন Anno ভিডিও গেম সিরিজ শুরুর দিকে 2019. তাদের শিরোনাম সবসময় একটি নির্দিষ্ট প্যাটার্ন এক বছর বৈশিষ্ট্যের জন্য ঘোষণা করেন 7th এক সঙ্গে 6 গেম আছে:

Anno 1602, Anno 1503, Anno 1701, Anno 1404, Anno 2070, Anno 2205, Anno 1800

  • ডিজিটাল যোগফল সর্বদা 9 হয়।
  • বছরগুলি চার অঙ্কের দীর্ঘ।
  • এগুলিতে কমপক্ষে একটি শূন্য থাকে।

এই সীমাবদ্ধতার মধ্যে 109 সম্ভাব্য শিরোনাম উপস্থিত রয়েছে:

[1008,1017,1026,1035,1044,1053,1062,1071,1080,1107,1170,1206,1260,1305,1350,1404,1440,1503,1530,1602,1620,1701,1710,1800,2007,2016,2025,2034,2043,2052,2061,2070,2106,2160,2205,2250,2304,2340,2403,2430,2502,2520,2601,2610,2700,3006,3015,3024,3033,3042,3051,3060,3105,3150,3204,3240,3303,3330,3402,3420,3501,3510,3600,4005,4014,4023,4032,4041,4050,4104,4140,4203,4230,4302,4320,4401,4410,4500,5004,5013,5022,5031,5040,5103,5130,5202,5220,5301,5310,5400,6003,6012,6021,6030,6102,6120,6201,6210,6300,7002,7011,7020,7101,7110,7200,8001,8010,8100,9000]

আপনার উদ্দেশ্যটি হ'ল সংখ্যক বাইটের যেকোন যুক্তিসঙ্গত ফর্মে তাদের তালিকাবদ্ধ করা।


আউটপুট ফর্ম্যাটটি কতটা নমনীয়? কি এই গ্রহণযোগ্য?
লুইস মেন্ডো

1
@ লুইসমেডো হ্যাঁ, আমার সাথে এটি ঠিক আছে।
লাইকোনি


1
@ আসলম ​​আমি ধরে নিচ্ছি আপনি কেবলমাত্র একটি নয়, অনেকগুলি স্থানই বোঝাচ্ছেন? মন্তব্য মার্কডাউন এর ভাল উপস্থাপনের অনুমতি দেয় না। এবং আমি অনুমান করব যে এটি অনুমোদিত, উপরের লুইসের ফর্ম্যাটটি অনুমোদিত। ;-)
এরিক দি আউটগল্ফার

1
@ এরিকথ আউটগল্ফার আমি অঙ্কের তালিকাতে না বলব কারণ তারা সত্যিকার অর্থে বছরের পরের মত দেখাচ্ছে না।
লাইকনি 21

উত্তর:


20

আর , 59 51 বাইট

201 এর তালিকার নাম হিসাবে বৈধ সংখ্যাগুলি আউটপুট করে । কেন 201? কারণ ASCII 0 হয় 48, এবং 4 * 48 + 9 হয় ... হ্যাঁ। রেঞ্জ হিসাবে ব্যবহার করে আলিয়াজ ^করে by বাইট Mapএবং অন্য ২ টি সংরক্ষণ করা হয়েছে 1:9e3

"^"=Map;x=sum^utf8ToInt^grep(0,1:9e3,,,T);x[x==201]

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

ব্যাখ্যা

# Create list of sums of ASCII char values of numbers,
# with the original numbers as the names of the list
x <- Map(sum,
  # Create a list from the strings where each element is the string split 
  # into ASCII char values
  Map(utf8ToInt,
      # Find all numbers between 1 and 9e3 that contain a zero
      # Return the matched values as a vector of strings (6th T arg)
      grep(pattern=0,x=1:9000,value=TRUE)
  )
)
# Pick out elements with value 201 (i.e. 4-digits that sum to 9)
# This implicitly only picks out elements with 4 digits, since 3-digit 
# sums to 9 won't have this ASCII sum, letting us use the 1:9e3 range
x[x==201] 

3
আহা, grepকেন আমি কখনই মনে করতে পারি না যে এটি কাস্ট করে character...
জিউসেপ


9

পাইথন 2 , 67 66 64 বাইট

print[y for y in range(9001)if('0'in`y`)*sum(map(ord,`y`))==201]

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


সংরক্ষিত:

  • -১ বাইট, লুইস ফেলিপ দে জেসুস মুনোজকে ধন্যবাদ
  • -২ বাইট, কেভিন ক্রুইজসেনকে ধন্যবাদ

ord sum == 201অন্যান্য উত্তর থেকে ট্রিক ব্যবহার করে 64 বাইট
কেভিন ক্রুইজসেন

9

জেলি , 11 বাইট

9ȷṢ€æ.ẹ9ṫ19

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

কিভাবে এটা কাজ করে

9ȷṢ€æ.ẹ9ṫ19  Main link. No arguments.

9ȷ           Set the left argument and the return value to 9000.
  Ṣ€         Sort the digits of each integer in [1, ..., 9000].
    æ.       Perform the dot product of each digit list and the left argument,
             which gets promoted from 9000 to [9000].
             Overflowing digits get summed without multiplying, so we essentially
             map the digit list [a, b, c, d] to (9000a + b + c + d).
      ẹ9     Find all 1-based indices of 9.
             Note that 9000a + b + c + d == 9 iff a == 0 and b + c + d == 9.
        ṫ19  Tail 19; discard the first 18 indices.

7

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

999..1e4-match0|?{([char[]]"$_"-join'+'|iex)-eq9}

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

থেকে রেঞ্জ তৈরি 999করে 10000, তারপরে -matchরেজেজের সাথে মেলে এমন এন্ট্রিগুলি টেনে আনতে ফিল্টার হিসাবে ইনলাইন ব্যবহার করে 0। সঙ্গে এই পাতার আমাদের 1000, 1001, 1002, etc.আমরা তখন পাইপ যে একটি মধ্যে Where-Objectদফা যেখানে আমরা একটি স্ট্রিং হিসাবে বর্তমান সংখ্যা নিতে "$_", এটি একটি হিসাবে নিক্ষেপ char-array, -joinবজায় রাখে ঐ সম্পর্ক অক্ষর +এবং Invoke- Expression (Eval মতো) তাদের অঙ্ক সমষ্টি নিয়ে আসা। এটি চূড়ান্ত -eqহয়েছে কিনা তা আমরা পরীক্ষা করি 9এবং যদি তাই হয় তবে এটি পাইপলাইনে পাস হয়েছে। প্রোগ্রামের সমাপ্তিতে, এই নম্বরগুলি পাইপলাইন থেকে তুলে নেওয়া হয় এবং স্পষ্টতই আউটপুট দেয়।


5

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

@ কেভিন ক্রুজসেনকে 2 বাইট সংরক্ষণ করা হয়েছে

একটি স্পেস-বিভাজিত স্ট্রিং প্রদান করে।

f=(n=9e3)=>n>999?f(n-9)+(eval([...n+''].join`+`)&/0/.test(n)?n+' ':''):''

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

কিভাবে?

আমরা 9 এর বর্ধিত পরিসীমা [1008..9000] দিয়ে পুনরাবৃত্তি করি , 0 নেই এমন নম্বর উপেক্ষা করে ।90

এই সব সংখ্যার গুণিতক 9 ফলে তাদের সংখ্যা এর সমষ্টি এর গুণিতক হতে নিশ্চিত করা হয়, 9 হিসাবে ভাল।

বৈধ সংখ্যায় কমপক্ষে একটি 0 তাদের দুটি 9 বেশি হবে না , যার অর্থ বাকী অঙ্কগুলির যোগফল সর্বাধিক 18 । সুতরাং, অঙ্কগুলির যোগফল বিজোড় হয় কিনা তা পরীক্ষা করা যথেষ্ট।

সুতরাং পরীক্ষা:

(eval([...n + ''].join`+`) & /0/.test(n)

আপনি একটি বাইট পরিবর্তন সংরক্ষণ করতে পারবেন 1008করার 999, যেহেতু এটি 0 যাহাই হউক না কেন ধারণ করে না, এবং 999+9 = 1008
কেভিন ক্রুইজসেন

অথবা এমনকি এটিতে 2 বাইট পরিবর্তন করে f=(n=9e3)=>n<1e3?'':(eval([...n+''].join`+`)<10&/0/.test(n)?[n,,]:'')+f(n-9)(যদিও এতে একটি পেছনের কমা রয়েছে, তাই f=(n=9e3)=>n<1e3?'':(eval([...n+''].join`+`)<10&/0/.test(n)?n+' ':'')+f(n-9)স্থানের সীমানা সহ পেছনের স্থানটি সুন্দর দেখতে পারে)
কেভিন ক্রুইজসেন

ধন্যবাদ কেভিন ক্রুজসেন! আমি আসলে এটি কিছুক্ষণের জন্য আপডেট করার চেষ্টা করছি, তবে আমার কাছে আজ রাত্রে Internet০০ বি / এস ইন্টারনেট ব্যান্ডউইথ রয়েছে। : /
আর্নল্ড

আমি অনুভূতিটি জানি .. ইদানীং বাড়িতে আমাদের ইন্টারনেট কোনও কারণে বকবক হয়েছে .. 10 এমবি এর উপরে কিছু ডাউনলোড করতে পারে না এবং কখনও কখনও ভিডিওগুলি বা পৃষ্ঠাগুলি 10+ ইমেজ সহ পুরোপুরি লোড হওয়ার আগে কয়েকবার রিফ্রেশ করতে হয় .. সত্যিই বিরক্তিকর যখন আমি সোমবার / মঙ্গলবার ..>।> কাল থেকে কেউ এটিকে ঠিক করতে আসেন (এবং এটি এক্সডি স্থির না হওয়া পর্যন্ত আমি তাকে ছেড়ে যাচ্ছি না)
কেভিন ক্রুইজসেন

5

জাভাস্ক্রিপ্ট (নোড.জেএস) , 89 বাইট

[...Array(9e3)].map(_=>i++,i=1e3).filter(a=>(s=[...a+""]).sort()[0]<1&eval(s.join`+`)==9)

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

  • -4 বাইট @ETH প্রডাকশন ধন্যবাদ

জাভাস্ক্রিপ্ট (নোড.জেএস), 129 127 126 124 115 114 111 110 105 97 93 92 90 বাইট

[...Array(9e3)].map(f=(_,i)=>eval(s=[...(i+=1e3)+""].sort().join`+`)-9|s[0]?0:i).filter(f)

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

ব্যাখ্যা

[...Array(9e3)].map(f=(_,i)=>eval(s=[...(i+=1e3)+""].sort().join`+`)-9|s[0]?0:i).filter(f)
[...Array(9e3)].map(f=(_,i)=>                                                  )           // Create a 9000-length array and loop over it; store the loop body
                                    [...(i+=1e3)+""]                                       // Add 1000 to the index and split it into an array of characters (17 -> ["1", "0", "1", "7"])
                                                    .sort()                                // Sort the array of characters in ascending order by their code points ("0" will always be first) (["1", "0", "1", "7"] -> ["0", "1", "1", "7"])
                                  s=                       .join`+`                        // Join them together with "+" as the separator (["0", "1", "1", "7"] -> "0+0+2+9"); store the result
                             eval(                                 )-9                     // Evaluate and test if it's different than 9
                                                                       s[0]                // Take the first character of the string and implicitly test if it's different than "0"
                                                                      |    ?0              // If either of those tests succeeded, then the number doesn't meet challenge criteria - return a falsey value
                                                                             :i            // Otherwise, return the index
                                                                                .filter(f) // Filter out falsey values by reusing the loop body

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

  • -3 বাইটস @ লুইস ফিলিপ দে জেসুস মুনোজকে ধন্যবাদ জানায়

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


1
[...Array(9e3)]পরিবর্তে Array(9e3).fill()2 বাইট সংরক্ষণ করুন
লুইস ফেলিপ দে জেসুস মুনোজ

1
.map(a=>+a)পরিবর্তে .map(Number)অন্য একটি বাইট সংরক্ষণ করুন
লুইস ফেলিপ দে জেসুস মুনোজ

1
(_, i)বাইট সংরক্ষণ করতে আপনি স্থানটি সরিয়ে ফেলতে পারেন এবং অতিরিক্ত 4 বাইট সংরক্ষণ s[0]+s[1]+s[2]+s[3]করতে পারেন eval(s.join`+`)
কেভিন ক্রুইজসেন

1
এছাড়াও, আমি নিশ্চিত যে আপনার উত্তর ||হতে পারে |
কেভিন ক্রুইজসেন

1
আপনি যদি .map()কেবল ব্যাপ্তি তৈরি করতে এবং ফিল্টারিং আলাদা রাখতে ব্যবহার করেন তবে আপনি 8 বাইট সংরক্ষণ করতে পারেন: এটি অনলাইনে চেষ্টা করুন!
ETH প্রোডাকশনগুলি

5

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

n=999
exec"n+=9\nif'0'in`n`>int(`n`,11)%10>8:print n\n"*n

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

ডেনিসকে 2 বাইট ধন্যবাদ

98 পদক্ষেপে 1008, 1017, ..., 9981, 9990 হিসাবে শর্ত পূরণ করে এমনগুলি মুদ্রণ execকরতে একটি লুপ ব্যবহার nকরে।

মাত্র 9 এর গুণিতক অঙ্ক সমষ্টি 9, কিন্তু 9 গুণিতক এই সীমার মধ্যে রয়েছে তারা 18 এবং 27. আমরা শর্ত এই নিয়ম বের ডিজিটের যোগফল আছে পারে int(`n`,11)%10>8nবেস ১১-এ ব্যাখ্যা করে, এর অঙ্কের অঙ্কটি মডুলো 10 সংখ্যার সমান, ঠিক যেমন বেস 10 তে একটি সংখ্যা তার অঙ্কের সমান মডুলুর সমান 9 (9, 18, 27) এর সংখ্যার যোগফল (9, 8, 7) এর সাথে মিলিত হয় মডেল 10, সুতরাং >8নাইনগুলি ফিল্টার করার জন্য সেগুলি গ্রহণ করে ।

শূন্যযুক্ত সংখ্যাটি স্ট্রিং সদস্যতার সাথে চেক করা হয়। '0'in`n`। এই শর্তটি শৃঙ্খলিত অসমতার সাথে অন্যটির সাথে যুক্ত হয়েছে, এটি ব্যবহার করে পাইথন 2 স্ট্রিংটিকে সংখ্যার চেয়ে বড় হিসাবে গণ্য করে।


আমি পছন্দ করি যে কীভাবে পাইথনকে ভারীভাবে গল্ফ করা হয়েছিল তা প্রায়শই দীর্ঘকাল ধরে
স্বয়ংক্রিয়ভাবে চালিত

4

সেড এবং গ্রেপ (এবং সিক), 72 64 63 বাইট

seq 9e3|sed s/\\B/+/g|bc|grep -wn 9|sed s/:9//|grep 0|grep ....

এর মধ্যে কয়েকটি চার অঙ্কের দীর্ঘ নয় (তবে আমি চূড়ান্ত কী তা নিশ্চিত নই grep, তাই সম্ভবত আমি এটি ভুল চালিয়ে যাচ্ছি?)
স্পারহক

@ স্পারহাক: সর্বশেষ গ্রেপটি নিশ্চিত করে যে সংখ্যাটি 4 অঙ্কের দীর্ঘ
থোর

@ থোর আহ ঠিক আছে। কোনও কারণে আমি এলোপিস হিসাবে পার্স করেছি।
স্পারহাক

4

হাস্কেল , 55 বাইট

[i|i<-show<$>[1..5^6],201==sum(fromEnum<$>i),elem '0'i]

@ লাইকনি ধন্যবাদ, মন্তব্য দেখুন।

রিডেবল:

import Data.Char (digitToInt)

[i | i <- show <$> [1000..9999]
   , sum (digitToInt <$> i) == 9
   , '0' `elem` i
   ]

2
বিশেষত পিপিসিজি এবং হাস্কেল গল্ফিংয়ে আপনাকে স্বাগতম! এর পরিবর্তে (-48+)যোগফলটি বাদ দিয়ে তুলনা করে আপনি কয়েকটি বাইট সংরক্ষণ করতে পারেন । ঘটনাচক্রে এটি আপনাকে ব্যাপ্তির পরিবর্তে ব্যবহার করতে দেয় । 201911000
লাইকনি

এছাড়াও মেটা সম্পর্কিত এই সম্মতিmain=print অনুযায়ী আপনার পূর্ববর্তী সংস্করণটি দুর্দান্ত ছিল ।
লাইকনি

99995^6পরিবর্তে হতে পারে ।
লাইকনি

1
হা, শেভ করার জন্য বরাবরই অন্য বাইট থাকে! ধন্যবাদ :-)
এমবি 21

3

আর , 82 বাইট

write((x=t(expand.grid(1:9,0:9,0:9,0:9)))[,colSums(x)==9&!apply(x,2,all)],1,4,,"")

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

xশীর্ষস্থানীয় জিরোগুলি বাদ দিয়ে, কলামগুলিতে গিয়ে সমস্ত সম্ভাব্য 4-সংখ্যার ম্যাট্রিক্স তৈরি করে । তারপরে 9 টির কলামের জন্য ডিজিটাল (ডিজিটাল) যোগফল এবং শূন্য রয়েছে অর্থাৎ allননজারো নয়। writeতাই আমরা কলাম নিচে প্রিন্ট, writeকরতে stdoutপ্রস্থে 4এবং একটি বিভাজক ""

জে.ডো আউটগল্ফড


চমৎকার উত্তর! আমি একটি ভিন্ন রুট নিয়ে হাজির হয়েছি ...
জে.ডো

3

জাপট , 20 18 বাইট।

-২ বাইটস @ শ্যাগি এবং @ ইথ প্রডাকশনগুলিকে ধন্যবাদ

A³òL² f_=ì)x ¥9«Z×

A³òL² f_=ì)x ¥9«Z×  Full program
A³òL²               Range [1000, 10000]
      f_            Filter by : 
        =ì)         Convert to array 
           x ¥9     Sum equal to 9?
               «    And 
                Z×  Product not 0

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


এটি আসলে 28 বাইট । পরিবর্তে আক্ষরিক পূর্ণসংখ্যার ব্যবহার 22 বাইট হয় তবে A³ò9000 f_ìx ¥9©ZsøTআপনাকে 20 এ ফিরে যেতে পারে
Shaggy

1
ব্যবহার করে আপনি 1 বাইট সংরক্ষণ করতে পারবেন ìপরিবর্তে sএবং ¬, যা ফিল্টার মধ্যে সম্পন্ন করা হয়েছে: f_=ì)x ¥9...। তারপরে আপনি জেডের পণ্যটি শূন্য রয়েছে কিনা তা পরীক্ষা করে অন্যকে সংরক্ষণ করতে পারেন «Z×: অনলাইনে চেষ্টা করে দেখুন!
ইটিএইচ প্রোডাকশনস

3

জাভা 8, 128 117 115 বাইট

v->{int i=109,r[]=new int[i],n=i;for(;i>0;n++)if((n+"").chars().sum()==201&(n+"").contains("0"))r[--i]=n;return r;}

-11 বাইটস @ নওহেলহোফকে ধন্যবাদ জানায়

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

ব্যাখ্যা:

v->{                              // Method with empty unused parameter & int-array return
  int i=109,                      //  Index-integer, starting at 109
      r[]=new int[i],             //  Result-array of size 109
      n=i;                        //  Number integer, starting at 109
   for(;i>0;                      //  Loop as long as `i` is not 0 yet:
       n++)                       //    After every iteration, increase `n` by 1
     if((n+"").chars().sum()==201 //   If the sum of the unicode values of `n` is 201,
                                  //   this means there are four digits, with digit-sum = 9
        &(n+"").contains("0"))    //   and `n` contains a 0:
       r[--i                      //    Decrease `i` by 1 first
            ]=n;                  //    And put `n` in the array at index `i`
  return r;}                      //  Return the array as result

1
কি হবে chars().sum()==201?
nwellnhof

@ ননহ্নহোফ আহ, অবশ্যই ধন্যবাদ!
কেভিন ক্রুইজসেন


3

05 এ বি 1 , 15 13 12 10 বাইট

₄4°ŸεW°ö9Q

-2 বাইটস @ এমিগানাকে
ধন্যবাদ -3 বাইটস @ গ্রিমিকে ধন্যবাদ

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

ব্যাখ্যা:

4°Ÿ        # Create a list in the range [1000,10000]
    ʒ       # Filter this list by:
     W      #  Get the smallest digit in the number (without popping the number itself)
      °     #  Take 10 to the power this digit
       ö    #  Convert the number from this base to an integer (in base-10)
        9Q  #  Check if it's equal to 9
  • =0110°ö
  • =11010°ö
  • =210010°ö023452030405
  • =3100010°ö0034563004005006
  • =[4,9]=2=3-10

>0[1000,10000]°ö[1111,9000000009000000009000000009]999Q=0°ö9


1
₄4°Ÿʒ0å}ʒSO9Q। বিভাজন ফিল্টারগুলি সাধারণত ছোট হয়
এমিগানা

@ এমিগনা আহ, আমি পরিসীমাটির জন্য আরও একটি ছোট উপায় খুঁজছিলাম, কিন্তু সম্পূর্ণরূপে ভুলে গেছি । ধন্যবাদ। এবং আপনি সত্যই বলেছেন যে একাধিক আলগা ফিল্টারগুলি (শেষে) ছোট। এটি আমার একটি টিপ উত্তরেও যুক্ত করবে। উভয় বাইট জন্য ধন্যবাদ!
কেভিন ক্রুইজসেন

1
এবং আমার অন্যান্য 13 byter (অধ্যাদেশ সমষ্টি == 201 কৌতুক দ্বারা অনুপ্রাণিত) হল 4°Lʒ0å}ʒÇOт·-। এটি এখানে রেখে, হয়তো কেউ এটিকে আরও গল্ফ করতে পারে
মিঃ এক্সকডার

1
₄4°ŸʒD0åôO9Q। একটি একক ফিল্টার ব্যবহার সাধারণত খাটো হয়।
গ্রিমি

1
কিছুই নয়, এখানে একটি 10:₄4°ŸʒW°ö9Q
গ্রিমি

2

পিপ , 18 বাইট

{0Na&$+a=9}FIm,t*m

পাঠ্যযোগ্য -pআউটপুট পেতে যেমন একটি আউটপুট-ফর্ম্যাট পতাকা ব্যবহার করুন । এটি অনলাইন চেষ্টা করুন!

{0Na&$+a=9}FIm,t*m
             m,t*m  Range from 1000 to 10*1000
{         }FI       Filter on this function:
 0Na                 There is at least one 0 in the argument
    &                and
     $+a             The sum of the argument
        =9           equals 9

2

ওল্ফ্রাম ভাষা (ম্যাথমেটিকা) , 56 55 বাইট 56

Select[9!!~Range~9999,Tr@#==Times@@#+9&@*IntegerDigits]

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

আমরা 9 ​​থেকে পরিসীমা পরীক্ষা করি !! = 945 থেকে 9999, যেহেতু 945 এবং 999 এর মধ্যে কোনও ফলাফল নেই 9

Tr@#==Times@@#+9&{a,b,c,d}পরীক্ষাগুলিতে প্রয়োগ করা হয় a+b+c+d == a*b*c*d+9, যা শেষ হয়ে যায় আনো শর্তের সমতুল্য।


পিছনে, 9 !! 999 বা কোনও কিছুর চেয়ে ছোট নয়, তবে এটি 1000 কে মারছে
মিশা লাভরভ

9 টা কি !! ? অনুমান করার ক্ষেত্রে এটি ফ্যাকটোরিয়ালগুলির সাথে সম্পর্কিত নয়।
রবার্ট ফ্রেজার

@RobertFraser দ্বৈত গৌণিক: 9*7*5*3*1
মিশা লাভরভ

2

রুবি , 46 42 41 বাইট

?9.upto(?9*4){|x|x.sum==201&&x[?0]&&p(x)}

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

কিভাবে এটা কাজ করে:

  • '9' থেকে '9999' পর্যন্ত স্ট্রিংগুলিতে ইটারেট করুন
  • ASCII মানগুলির যোগফলটি 201 হয় তা পরীক্ষা করুন
  • স্ট্রিংয়ে একটি শূন্য রয়েছে কিনা তা পরীক্ষা করুন (রেজেক্স ছাড়াই একটি রেজেক্স 1 বাইট দীর্ঘ হবে)

(লাইকোনি -২ বাইটের জন্য ধন্যবাদ)


1
9*3ঠিক হতে পারে 9, কারণ 201 এর বিপরীতে চেক করতে ইতিমধ্যে 4 ডিজিটের সংখ্যা প্রয়োজন।
লাইকনি

2

অক্টাভা , 49 বাইট

জে ডোর পরামর্শ অনুযায়ী আরও সুবিধাজনক আউটপুট ফর্ম্যাট ব্যবহার করে 6 বাইট সংরক্ষণ করা হয়েছে ।

ধন্যবাদ @Laikoni একটি সংশোধনের জন্য

y=dec2base(x=1e3:9999,10)'-48;x(sum(y)==9>all(y))

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



@ জে.ডো ওপি নিশ্চিত করেছে যে আউটপুট ফর্ম্যাটটি গ্রহণযোগ্য। পরামর্শের জন্য ধন্যবাদ!
লুইস মেন্ডো

2

ডার্ট ,  103 100  96 বাইট

f()=>List.generate(9001,(i)=>'$i').where((i)=>i.contains('0')&&i.runes.fold(0,(p,e)=>p+e)==201);

  • -3 বাইটগুলি অ্যারেতে মানটি স্ট্রিংয়ে সেট করে, একবারে এবং দুবার নয় রূপান্তর করে
  • কোডউনাইটের পরিবর্তে রানগুলি ব্যবহার করে -4 বাইট
  • খুব স্ব-ব্যাখ্যামূলক। কোষের সূচকের সাথে মান হিসাবে 9001 (0-9000) কোষের একটি তালিকা তৈরি করে, 0 এর সাথে একটি ফিল্টার করে তবে তার সাথে এসএসআইআই যোগফল 201 হয় (ফলাফল যদি সমস্ত ASCII অক্ষর 9 হয়)। এই শর্তগুলির মধ্যে অন্তর্ভুক্ত রয়েছে যে বছরটি 4 ডিজিট দীর্ঘ, কারণ 2 এএসসিআইআই সংখ্যা (এবং 0) ব্যবহার করে আপনি 201 এ পৌঁছাতে পারবেন না।

    এটি ডার্টপ্যাডে চেষ্টা করে দেখুন!


    পিপিসিজিতে আপনাকে স্বাগতম। :)
    লাইকনি

    1
    ধন্যবাদ! কিছু সময়ের জন্য লুকিয়ে রাখা হয়েছে, শেষ পর্যন্ত অংশ নিতে পারে
    এলকান


    2

    নিস! 55_&9=+/y*|/'~y:!4#1021 এর জন্য?
    স্ট্রিস্টার

    1
    ধন্যবাদ @streetster :) 'মধ্যে |/'সৌন্দর্য ভুল। ফলাফলের মধ্যে 1116, 1125, 1134, ইত্যাদি রয়েছে যা এখানে থাকার কথা নয়
    ngn


    2

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

    for($i=999;$i<9001;$i++){echo((array_sum(str_split($i))==9&strpos($i,"0")!=0)?$i:" ");} for($i=999;$i++<1e4;)echo!strpos($i,48)|array_sum(str_split($i))-9?" ":$i;

    নোট করুন এটি প্রতিটি "ব্যর্থ" সংখ্যার জন্য একটি স্থান রাখে, যার ফলে একরকম ফঙ্কি স্পেস হয়। এটি কমা বিচ্ছেদে পরিবর্তিত হতে পারে, তবে আরও 4 টি অক্ষর যুক্ত করবে:?$i.",":""

    আরও বড় হয়েছি কারণ আমি ০ টি পরীক্ষা করে নিই না er টাইটাসের দ্বারা 13 দ্বারা সংক্ষিপ্ত!


    2
    আমি সত্যিই পিএইচপি জানি না, তবে এই কোডটি কি প্রতি বছর শূন্য থাকে তা নিশ্চিত করে?
    লাইকনি

    এই কোডটি সংখ্যাটিতে শূন্যের জন্য চেক করে না।
    krzysiej

    1
    13 বাইট সংক্ষিপ্ত:for($i=999;$i++<1e4;)echo!strpos($i,48)|array_sum(str_split($i))-9?" ":$i;
    তিতাস

    এখানে আরেকটি বাইট রয়েছে: ?"$i,":""এর ... এখন অন্য পথে:?"":"$i,"
    টাইটাস

    আসলে @ টিটাস যা একটি দম্পতি বাইট যুক্ত করে। আমরা যদি স্ট্রিং ডাব্লু / এটি অন্তর্ভুক্ত না করি তবে আমাদের আশেপাশে উদ্ধৃতিগুলির প্রয়োজন নেই।
    aslum


    2

    স্কালা ( 76 63 61 56 বাইট)

    for(n<-0 to 9000;t=n+""if t.sum==201&t.min<49)println(t)
    

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

    • পরামর্শের জন্য লাইকোনিকে ধন্যবাদ
    • জো কিংয়ের মন্তব্য প্রয়োগের পরে আরও দুটি বাইট ছড়িয়েছে

    1
    পিপিসিজিতে আপনাকে স্বাগতম! এই কোডটি টিআইওতে চালিত হওয়ার জন্য শিরোনাম বা পাদলেখ বিভাগে কী যুক্ত করতে হবে তা আপনার কী ধারণা আছে? এটি অনলাইন চেষ্টা করুন!
    লাইকনি

    লাইকনি, জানতেন না আমি টিআইও-তে স্কাল চালাতে পারি। ঠিক কর. মন্তব্যের জন্য ধন্যবাদ.
    jrook

    1
    এটি দেখে মনে হচ্ছে t.sum==201পরিবর্তে কাজ করে t.map(_.asDigit).sum==9
    লাইকনি

    আপনি স্কালায় গল্ফ করার জন্য আমাদের টিপস আকর্ষণীয় খুঁজে পেতে পারেন । যেমন মনে হয় এটি s"$n"হতে পারে n+""এবং s"$t "হতে পারে t+" "
    লাইকনি

    1
    যেহেতু আপনি যোগফলটি 201 ট্রিক ব্যবহার করছেন তাই পরিসরটি 999
    জো কিং


    1

    জাপট, 16 বাইট

    অঙ্কের অ্যারেগুলির একটি অ্যারে প্রদান করে।

    L²õì l4 k_ת9aZx
    

    এটা পরীক্ষা করো


    ব্যাখ্যা

    L                    :100
     ²                   :Squared
      õ                  :Range [1,L²]
       ì                 :Convert each to a digit array
         l4              :Filter elements of length 4
            k_           :Remove each Z that returns truthy (not 0)
              ×          :  When reduced by multiplication
               ª         :  OR
                  Zx     :  When reduced by addition
                9a       :   And subtracted from 9
    

    1
    ওপি নির্দেশ জারি করেছে যে অঙ্ক অ্যারে বৈধ আউটপুট দুর্ভাগ্যবশত আছেন: O (
    সোক

    1

    এপিএল (এনএআরএস), 45 টি চর, 90 বাইট

    f←{⍵×⍳(0∊x)∧9=+/x←⍎¨⍕⍵}⋄f¨1e3..5e3⋄f¨5e3..9e3
    

    কিছু বিন্যাসের পরে পরীক্ষা করুন:

    1008  1017  1026  1035  1044  1053  1062  1071  1080  1107  1170  1206  1260  
      1305  1350  1404  1440  1503  1530  1602  1620  1701  1710  1800  2007  2016  
      2025  2034  2043  2052  2061  2070  2106  2160  2205  2250  2304  2340  
      2403  2430  2502  2520  2601  2610  2700  3006  3015  3024  3033  3042  3051  
      3060  3105  3150  3204  3240  3303  3330  3402  3420  3501  3510  3600  
      4005  4014  4023  4032  4041  4050  4104  4140  4203  4230  4302  4320  4401  
      4410  4500 
    5004  5013  5022  5031  5040  5103  5130  5202  5220  5301  5310  5400  6003  
      6012  6021  6030  6102  6120  6201  6210  6300  7002  7011  7020  7101  7110  
      7200  8001  8010  8100  9000 
    

    সম্ভাব্য বিকল্প

    r←f;i;x
       r←⍬⋄i←1e3⋄→B
    A: r←r,i
    B: i+←1⋄→A×⍳(0∊x)∧9=+/x←⍎¨⍕i⋄→B×⍳i≤9e3
    

    1

    জেলি , 13 বাইট

    ȷ4µṢÄm3Ḍ)ẹ9ṫ4
    

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

    কিভাবে?

    ȷ4µṢÄm3Ḍ)ẹ9ṫ4 - Link: no arguments
    ȷ4            - literal 10^4 = 10000
      µ     )     - for each in range (1,2,3,...,10000): e.g. 3042       or  5211
       Ṣ          -   sort (given an integer makes digits)    [0,2,3,4]      [1,1,2,5]
        Ä         -   cumulative addition                     [0,2,5,9]      [1,2,4,9]
         m3       -   modulo 3 slice (1st,4th,7th...)         [0,9]          [1,9]
           Ḍ      -   convert from decimal digits             9              19
             ẹ9   - 1-based indices equal to nine             [9,99,999,1008,1017,...,8100,9000]
               ṫ4 - tail from the 4th index                   [1008,1017,...,8100,9000]
    
    আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
    Licensed under cc by-sa 3.0 with attribution required.