বিন্দু মুক্ত চেহারা এবং ক্রম বলুন


11

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

উদাহরণ স্বরূপ:

$ ./LAS
8
[1,11,21,1211,111221,312211,13112221,1113213211]

আপনি যেভাবে সঠিকভাবে তালিকাটি আউটপুট করছেন তা গুরুত্বহীন, যতক্ষণ না ব্যবহারকারীগণ পৃথকভাবে ক্রমের বিভিন্ন সংখ্যা দেখতে পারবেন। এখানে যদিও ধরা আছে। আপনি কোনও ধরণের ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল ব্যবহার করতে পারবেন না।

উদাহরণ স্বরূপ:

  1. স্কোপড ভেরিয়েবলগুলি সহ কোনও ভেরিয়েবল নেই।
  2. যখন আপনার ফাংশন রয়েছে, তাদের কোনও নাম থাকতে পারে না। (ব্যতিক্রম, যদি আপনার ভাষার কোনও মূল ফাংশন প্রয়োজন হয় বা কাজের অনুরূপ হয় তবে আপনার সেই ফাংশন থাকতে পারে))
  3. যখন আপনার ফাংশন রয়েছে, তাদের নাম যুক্তি থাকতে পারে না।

এছাড়াও, আপনি চেহারা এবং বলার ক্রম সম্পর্কিত নির্দিষ্ট সক্ষমতা সহ একটি লাইব্রেরি ব্যবহার করতে পারবেন না এবং আপনি নেটওয়ার্কটি অ্যাক্সেস করতে পারবেন না বা কোনও ফাইলের সাথে আপনার প্রোগ্রাম সরবরাহ করতে পারবেন না (যদিও এটি নিজস্ব তৈরি এবং ব্যবহার করতে পারে)) এটি কোড গল্ফ, চরিত্রগুলিতে এত সংক্ষিপ্ততম কোড জিতেছে!


1
"এক্সট্রেম পয়েন্ট ফ্রিনেস" কী?
জাস্টিন

1
@ কুইনকুনেক্সে আমাকে এটি সন্ধান করতে হয়েছিল: stackoverflow.com/questions/944446/…
ডিজিটাল ট্রমা

আপনি এই নিয়ম ব্যাখ্যা করতে পারে না: When you have functions, they can not have named arguments.?
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳


3
@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ বেশ কয়েকটি ভাষায় (জে ভাষা বা স্ট্যাক / ভিত্তিক ভাষা যেমন সামনের বা পোস্টস্ক্রিপ্ট) ফাংশনে যুক্তি নেই; তারা কিছু বাহ্যিক প্রসঙ্গে প্রয়োগ করে (একটি স্ট্যাক বা একটি বাহ্যিক ক্ষেত্র থেকে আসা আর্গুমেন্ট)।
টমাস বারুচেল

উত্তর:


6

গল্ফস্ক্রিপ্ট (৩১ টি অক্ষর)

~[]\{[1\{.2$={;\)}1if\}*].n@}*;

আমার পূর্ববর্তী চেহারা এবং বলা প্রশ্নের উত্তর থেকে অভিযোজিত । ফাংশনাল ভাষাগুলির জন্য এটির একটি কম ভারসাম্য বিধিনিষেধ রয়েছে, যা ৫ টি অক্ষর সাশ্রয় করতে পারে তবে পূর্ববর্তী প্রশ্নের বেশিরভাগ উত্তর অভিযোজিত হতে পারে না (এটি অ-কার্যকরী ভাষার জন্য একটি কৌতূহলাত্মক বিধিনিষেধ) আমি মনে করি না এটি বোধগম্য হয় এটি একটি ডুপ হিসাবে বন্ধ করা।


11

হাসেল 206 চারস

import Data.List
import Control.Applicative
import Data.Function
main= readLn >>= print .(flip take (map read $ fix (("1":). map (concat .(map ((++)<$>(show . length)<*>((:[]). head))). group))::[Integer]))

এটি গ্রুপ ফাংশনটি তাদের সমান জিনিসের গ্রুপে গ্রুপবদ্ধ করে কাজ করে। তারপরে এটি ফাংশন সহ অ্যাপ্লিকেশনগুলি ব্যবহার করে এমন ফাংশন তৈরি করতে যা একই সাথে দৈর্ঘ্যটি পড়ে এবং এটি একটি উপাদানের সাথে যুক্ত করে। এটি একটি পুনরাবৃত্ত সংজ্ঞা তৈরি করতে একটি স্থির এবং একটি মানচিত্র ব্যবহার করে (বিন্দু মুক্ত)) এবং সেখানে যেতে হবে।


10

জে (৪২ টি চর)

পয়েন্ট-ফ্রি (একে ট্যাসিট নামেও পরিচিত) প্রোগ্রামিং জেতে প্রাকৃতিক is

,@:((#,{.);.1~(1,}.~:}:))&.>^:(<`((<1)"_))

এটি একটি ফাংশন, এটি ব্যবহারের জন্য আপনি কোড, একটি স্থান এবং ইনপুট নম্বর লিখবেন। উদাহরণ স্বরূপ,

   ,@:((#,{.);.1~(1,}.~:}:))&.>^:(<`((<1)"_)) 8
┌─┬───┬───┬───────┬───────────┬───────────┬───────────────┬───────────────────┐
│1│1 1│2 1│1 2 1 1│1 1 1 2 2 1│3 1 2 2 1 1│1 3 1 1 2 2 2 1│1 1 1 3 2 1 3 2 1 1│
└─┴───┴───┴───────┴───────────┴───────────┴───────────────┴───────────────────┘

আউটপুটে সুন্দর বক্সগুলি লক্ষ্য করুন।

সংযোজন : এখানে বেশ কয়েকটি "চিট" রয়েছে যা আমি প্রথমে ব্যবহারে খুব বাজে ছিলাম, তবে এখন অন্যরা সেগুলি প্রথমে ব্যবহার করতে দেখেছি ...

  • এখানে একটি আলাদা "কলিং কনভেনশন" সহ একটি 36 চর সংস্করণ রয়েছে: আপনি যে শর্তাদি চান তার সাথে 8 প্রতিস্থাপন করুন।

    ,@:((#,{.);.1~(1,}.~:}:))&.>^:(<8)<1
    
  • এবং যদি আউটপুটে অতিরিক্ত শূন্যগুলি ঠিক থাকে তবে এখানে একটি 32 চর সংস্করণ রয়েছে:

    ,@:((#,{.);.1~(1,}.~:}:))^:(<8)1
    

7

গল্ফস্ক্রিপ্ট, 36 টি অক্ষর

~([1]\{.[0\{.2$=!{0\.}*;\)\}/](;}*]`

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

[[1] [1 1] [2 1] [1 2 1 1] [1 1 1 2 2 1] [3 1 2 2 1 1] [1 3 1 1 2 2 2 1] [1 1 1 3 2 1 3 2 1 1]]

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


6

হাস্কেল, ১১৮ টি চর (আমদানি ছাড়াই ৮০)

import Data.List
import Control.Monad
main=readLn>>=print.flip take(iterate(ap((++).show.length)(take 1)<=<group)"1")

6

বাশ এবং কোর্টিলস, 111 73 টি অক্ষর

eval echo 1\|`yes 'tee -a o|fold -1|uniq -c|(tr -dc 0-9;echo)|'|sed $1q`:

uniq -cক্রম পরবর্তী নম্বর উত্পাদন ভারী উত্তোলন করছে। yes, sedএবং evalপ্রসেসিং পাইপলাইন পুনরাবৃত্তি প্রয়োজনীয় সংখ্যা তৈরি করুন। বাকিগুলি কেবল ফর্ম্যাট করা।

আউটপুট নামক একটি ফাইলে রাখা হয় o:

/ ./looksay.sh 8
উবুন্টু @ উবুন্টু: $ $ বিড়াল ও
1
11
21
1211
111221
312211
13112221
1113213211
$ 

4

গণিত, 65 টি অক্ষর

FromDigits/@NestList[Flatten@Reverse[Tally/@Split@#,3]&,{1},#-1]&

উদাহরণ:

FromDigits/@NestList[Flatten@Reverse[Tally/@Split@#,3]&,{1},#-1]&[8]

{1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211}


3

জে, 37 টি অক্ষর

1([:,((1,2&(~:/\))(#,{.);.1]))@[&0~i.

মটর প্যাটার্ন প্রশ্নের উত্তর আমার ভিত্তিতে । এখানে সংক্ষিপ্ত হওয়ার কিছু সম্ভাবনা থাকতে পারে। অন্যান্য জে জবাব হিসাবে ব্যবহার:

   1([:,((1,2&(~:/\))(#,{.);.1]))@[&0~i. 7
1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
2 1 0 0 0 0 0 0
1 2 1 1 0 0 0 0
1 1 1 2 2 1 0 0
3 1 2 2 1 1 0 0
1 3 1 1 2 2 2 1

এটিতে আমার মটর প্যাটার্নের উত্তরের অতিরিক্ত শূন্যগুলির সমস্যাও রয়েছে।


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

@ পিটারটেলর পিটারের প্যাটার্নটি সামান্য আলাদা যে আপনি পরবর্তী তৈরির আগে পূর্ববর্তী লাইনে সংখ্যাগুলি বাছাই করতে হবে।
গ্যারেথ

2

পার্ল 6: 63 53 টি অক্ষর

say (1,*.subst(/(\d)$0*/,{.chars~.[0]},:g)...*)[^get]

লুক এবং সিকোয়েন্স ক্রম ( 1,*.subst(/(\d)$0*/,{.chars~.[0]},:g)...*) এর একটি অলস তালিকা তৈরি করুন এবং তারপরে ব্যবহারকারী ( [^get]যা একটি অ্যারে সাবস্ক্রিপ্ট এবং এর অর্থ [0..(get-1)]) দ্বারা নির্দিষ্ট হিসাবে অনেকগুলি উপাদান এবং sayসেগুলি পান।

অলস তালিকাটি প্রথমে 1 টি নিয়ে কাজ করে প্রতিটি ক্রমাগত সংখ্যা তৈরি করতে, এটি সর্বশেষটি খুঁজে পেয়েছিল এবং এটি একই সংখ্যার সমস্ত ক্রমগুলি প্রতিস্থাপিত হিসাবে /(\d)$0*/প্রতিস্থাপিত করে এবং তাদের প্রতিস্থাপন করে {কতটি} + {কোন অঙ্ক} , বা .chars~.[0]

এই কোডে কেবলমাত্র ভেরিয়েবলগুলি $0হ'ল, ম্যাচের প্রথম ক্যাপচার এবং অন্তর্নিহিত, টপিকাল $_ভেরিয়েবল যা বেয়ার .methodএস কল করে এবং এর দুটিই ব্যবহারকারীর দ্বারা সংজ্ঞায়িত।


1

গল্ফস্ক্রিপ্ট, 57 43 টি অক্ষর

আমার নিজস্ব পদ্ধতি। দু: খজনকভাবে = (উপস্থিত থেকে বর্তমানের চেয়ে বেশি দিন শেষ হয়েছে।

~[1 9]{.);p[{...1<^0=?.@(\@(>.,(}do 0=]}@*;

স্টিডিনের জন্য নমুনা আউটপুট 8:

[1]
[1 1]
[2 1]
[1 2 1 1]
[1 1 1 2 2 1]
[3 1 2 2 1 1]
[1 3 1 1 2 2 2 1]
[1 1 1 3 2 1 3 2 1 1]

বিকল্প সংস্করণটি প্রেরণকারীটি ডাব্লু / আউট করে ফেলেছে 9, তবুও এটি 47 টি অক্ষরের বেশি। আমার সন্দেহ হয় এর আরও সম্ভাবনা রয়েছে:

~[1]{.p[{...1<^.{0=?.@(\@(>1}{;,\0=0}if}do]}@*;

1

স্কালা 178

(0 to Console.in.readLine.toInt).map(i=>Function.chain(List.fill[String=>String](i)(y=>(('0',0,"")/:(y+" ")){case((a,b,c),d)=>if(d==a)(a,b+1,c)else(d,1,c+b+a)}._3.drop(2)))("1"))

1
আমি প্রায় নিশ্চিত যে আছি iমধ্যে i=>একটি পরিবর্তনশীল।
পিটার টেলর

1

ডায়ালগ এপিএল, 35 টি অক্ষর

(⊢,⊂∘∊∘((≢,⊃)¨⊃⊂⍨2≢/0,⊃)∘⌽)⍣(⎕-1)⊢1

ইনপুট মূল্যায়ন করা হয়। লিঙ্কটিতে আমি এটি 8 এর সাথে প্রতিস্থাপন করেছি, কারণ tryapl.org ব্যবহারকারীর ইনপুটটিকে অনুমতি দেয় না।

কোনও নামযুক্ত ভেরিয়েবল ( a←1), কোনও নামযুক্ত ফাংশন ( f←{}), কোনও আর্গুমেন্ট ( , ) নেই।

শুধুমাত্র কার্যকারিতা রচনা:

  • একাকী অপারেটর প্রত্যেকে:, হ্রাস করুন :, f/যাত্রা:f⍨
  • ডায়াডিক অপারেটর — শক্তি:, f⍣nরচনা:f∘g
  • কাঁটাচামচ (f g h)B ←→ (f B)g(h B);A(f g h)B ←→ (A f B)g(A h B)
  • atops— (f g)B ←→ f(g B);A(f g)B ←→ f(A g B)
  • 4 টি ট্রেন (কাঁটাচামচ) -(f g h k) ←→ (f (g h k))

আদিম কার্যাদি ব্যবহৃত:

  • ডানে:A⊢B ←→ B
  • বিপরীত:⌽B
  • প্রথম:⊃B
  • শ্রেণীবদ্ধভাবে সংযুক্ত করা:A,B
  • মেলে না : A≢B, গণনা:≢B
  • বন্ধ:, ⊂Bবিভাজন:A⊂B
  • চেপ্টা:∊B

ট্রাইপল.আর.আর্গ.তে, আপনি যদি এই পেছনটি সরিয়ে ফেলেন ⊢1, যা এই বিশাল রচিত জিনিসের যুক্তি, আপনি এটি কীভাবে পার্স করেছেন তা একটি চিত্র দেখতে পারেন:

     ⍣               
   ┌─┴─┐             
 ┌─┼─┐ 7             
 ⊢ , ∘               
    ┌┴┐              
    ∘ ⌽              
 ┌──┴───┐            
 ∘    ┌─┴─┐          
┌┴┐   ¨ ┌─┼───┐      
⊂ ∊ ┌─┘ ⊃ ⍨ ┌─┼───┐  
  ┌─┼─┐ ┌─┘ 2 / ┌─┼─┐
  ≢ , ⊃ ⊂   ┌─┘ 0 , ⊃
            ≢

0

জে 66 (আই / ও সহ)

".@(_5}&',@((#,&:":{.);.1~1&(0})&(~:_1|.]))^:(<X)":1')@{.&.stdin''

আইও ছাড়াই, স্কোর 43:

NB. change the 8 for the number of numbers you'd want
,@((#,&:":{.);.1~1&(0})&(~:_1|.]))^:(<8)'1'

নিজেকে ভঙ্গ করার মজার প্রশ্ন, প্রথম 9 কখন প্রদর্শিত হবে?


কখনই পূর্ণসংখ্যার সিকোয়েন্স পৃষ্ঠাটি দেখবেন না।
পাইরুলেজ

আচ্ছা আমি দেখি. তাহলে ... কেন?
jpjacobs


স্ট্রিংয়ের ইনপুট দ্বারা এক্স প্রতিস্থাপন এবং তারপরে ইওল কল করার আইও সংস্করণে দুর্দান্ত কৌশল!
ওমর

মজার প্রশ্ন হিসাবে: এটি কি আপনার কাছে কেবল 1, 2 এবং 3 কখনও স্পষ্ট নয়? আমার অর্থ 4 বা ততোধিক হওয়া, আগের ধাপে আপনাকে পরপর চারটি সমান অঙ্কের দরকার হবে, xaaay, তবে এটি ঘটতে পারে না কারণ আপনি আরও একটি পদক্ষেপ আগে বলছিলেন আপনি "x এ, এ এর" দেখেছেন বা "a a's, a a's"।
ওমর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.