স্বতঃসিদ্ধ


17

পূর্ণসংখ্যার একটি তালিকা দেওয়া হয়েছে, এমন একটি বুলিয়ান মাস্ক তৈরি করুন যাতে সত্য সূচকগুলি তালিকা থেকে স্বতন্ত্র মানগুলি ফিল্টার করতে ব্যবহার করা যেতে পারে। সত্যিকারের হিসাবে কোন সূচকটি নির্বাচিত হয় তা ততক্ষণ গুরুত্বপূর্ণ নয় যতক্ষণ না তাদের মধ্যে একটিরই একই মান অনুসারে সূচকগুলির প্রতিটি সেটের জন্য নির্বাচিত হয়।

ইনপুটটি আপনার ভাষার জন্য উপযুক্ত বিন্যাসে অ-নেতিবাচক পূর্ণসংখ্যার একটি অ-খালি তালিকা হবে এবং আউটপুট উপরের স্পেসিফিকেশন অনুসরণ করে বুলিয়ান মানগুলির একটি তালিকা হবে। আউটপুট তালিকায় আপনাকে সত্য ও মিথ্যা মানগুলির নিজস্ব সংজ্ঞা ব্যবহার করার অনুমতি দেওয়া হয়েছে।

নীচে আমার উদাহরণগুলিতে, আমি 1সত্যবাদী এবং মিথ্যা বলে সংজ্ঞায়িত 0করেছি।

[5, 4, 7, 1]  Input
[1, 1, 1, 1]  Output
              Select only the values with with true indicies in the sieve
[5  4  7  1]  Contains zero duplicate values

[5, 9, 7, 5, 6, 0, 5]
[0, 1, 1, 1, 1, 1, 0]
[   9, 7, 5, 6, 0   ]

পরীক্ষার মামলা

যখন একটি থাকে or, এর অর্থ একাধিক বৈধ আউটপুট থাকে। এর পরে যদি কোনও পিছনে উপবৃত্ত ...হয় তবে এর orঅর্থ হ'ল সম্ভাব্য আউটপুটগুলির তালিকাভুক্ত নয়।

[0] = [1]

[55] = [1]

[32, 44] = [1, 1]

[0, 0] = [1, 0] or [0, 1]

[9001, 9001, 9001] = [1, 0 , 0] or [0, 1, 0] or [0, 0, 1]

[5, 4, 7, 1] = [1, 1, 1, 1]

[1, 2, 3, 4, 3, 5] = [1, 1, 1, 1, 0, 1] or
                     [1, 1, 0, 1, 1, 1]

[5, 9, 7, 5, 6, 0, 5] = [1, 1, 1, 0, 1, 1, 0] or
                        [0, 1, 1, 1, 1, 1, 0] or
                        [0, 1, 1, 0, 1, 1, 1]

[0, 8, 6, 6, 3, 8, 7, 2] = [1, 1, 1, 0, 1, 0, 1, 1] or
                           [1, 0, 0, 1, 1, 1, 1, 1] or
                           [1, 0, 1, 0, 1, 1, 1, 1] or
                           [1, 1, 0, 1, 1, 0, 1, 1]

[45, 47, 47, 45, 24, 24, 24, 8, 47, 41, 47, 88]
= [1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1] or ...

[154, 993, 420, 154, 154, 689, 172, 417, 790, 175, 790, 790, 154, 172, 175, 175, 420, 417, 154, 175, 172, 175, 172, 993, 689, 993, 993, 790]
= [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] or ...

বিধি

  • এটি তাই সংক্ষিপ্ততম সমাধানটি জয়লাভ করে।
  • বিল্টিন অনুমোদিত!
  • আউটপুট তালিকায় আপনাকে সত্য ও মিথ্যা মানগুলির নিজস্ব সংজ্ঞা ব্যবহার করার অনুমতি দেওয়া হয়েছে। আপনি যদি এটি করতে পছন্দ করেন তবে দয়া করে আপনার সংজ্ঞাটি লিখুন।
  • ইনপুটটি অ-নেতিবাচক পূর্ণসংখ্যার একটি খালি খালি তালিকা হবে।
  • আপনি কেবলমাত্র একটি চালুক বা একাধিক বা এমনকি তাদের সকলের মধ্যেই আউটপুট তৈরি করতে বেছে নিতে পারেন। যতক্ষণ না প্রতিটি চালনি বৈধ হবে ততক্ষণ তা গ্রহণযোগ্য হবে।

2
জন্য [0, 8, 6, 6, 3, 8, 7, 2], [1, 0, 0, 1, 1, 1, 1, 1]বৈধ আউটপুট তালিকায় যুক্ত করা উচিত ?
অ্যাটলোলজিস্ট

সত্যবাদী এবং মিথ্যা মূল্যবোধগুলির নিজস্ব সংজ্ঞাগুলি কি ভাষাটির সাথে উল্লেখ করে বা আমরা নির্দ্বিধায় চয়ন করতে পারি? তাদের কি ধারাবাহিক হতে হবে?
ডেনিস

@ এ্যাটলাওলজিস্ট টাইপো ধরার জন্য ধন্যবাদ
মাইল

@ ডেনিস আপনি নিজের বুলিয়ান মানগুলি সংজ্ঞায়িত করতে নির্দ্বিধায় মুক্ত হন, আপনি যে ভাষাটি পছন্দ করেন তার মতো সেগুলি হতে হবে না তবে আপনার নিজের সংজ্ঞা অনুসারে আপনাকে সামঞ্জস্য থাকতে হবে। আমার উদাহরণগুলিতে সত্য এবং মিথ্যা হিসাবে 1 এবং 0 এর পরিবর্তে, আমি মিথ্যা এবং অ-নেতিবাচক (শূন্য বা ধনাত্মক) মান হিসাবে negativeণাত্মক মানগুলি করতে পারতাম।
মাইল মাইল

ঠিক আছে, স্পষ্ট করার জন্য ধন্যবাদ। ধারাবাহিকভাবে, আমি বোঝাতে চাইছি যদি এখানে একটি একক সত্যবাদী মান থাকতে হয় বা যদি বেশ কয়েকটি হতে পারে।
ডেনিস

উত্তর:


11

এমএটিএল, 7 6 4 বাইট

@ লুইস 2 বাইট @ ডেনিসের জন্য ধন্যবাদ সংরক্ষণ করেছেন 1 বাইট

&=Rs

আমরা 1সত্যবাদী এবং অন্যান্য সমস্ত মানকে মিথ্যা হিসাবে সংজ্ঞায়িত করি

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

সমস্ত পরীক্ষার কেস

ব্যাখ্যা

    % Implicitly grab input array
&=  % 2D array of equality comparisons
R   % Get the upper triangular portion
s   % Sum down the columns
    % Implicitly display the result

1 বাইট কম:&=Rs1=
লুইস মেন্ডো

@ লুইস মেন্ডো হা আমি আক্ষরিক অর্থেই এই পদ্ধতির সাথে খেলছিলাম!
সোয়েভার

2
এই চ্যালেঞ্জটির সত্যতা এবং মিথ্যাচারের অর্থ কী তা ওপি স্পষ্ট করেছে। আপনি যদি সংজ্ঞা দিন 1 টি সত্যবাদী এবং অন্য সব কিছুকে মিথ্যা হিসাবে এটিকে বাদ দিতে পারেন l=
ডেনিস

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

9

জেলি , 4 বাইট

ĠṪ€Ṭ

অভ্যাস শেষ ঘটনা। এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

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

ĠṪ€Ṭ  Main link. Argument: A (array)

Ġ     Group; paritition the indices of A according to their corresponding values.
 Ṫ€   Tail each; select the last index of each group.
   Ṭ  Untruth; generate a Boolean array with 1's at the specified indices.

এটি কি শেষে শূন্যগুলি কেটে ফেলবে না?
ফুটো নুন

2
শেষে শূন্য হতে পারে না, কারণ আমরা প্রতিটি অনন্য পূর্ণসংখ্যার শেষ ঘটনাটি নির্বাচন করি ।
ডেনিস

যে চালাক।
ফুটো নুন

8

পাইথন 3, 47 35 39 36 বাইট

lambda n:[n.pop(0)in n for x in n*1]

তালিকা থেকে প্রথম আইটেমটি পপ করে, তালিকার অন্য কোথাও এটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে এবং সন্নিবেশ করায় Trueবা Falseনতুন তালিকায়।

এই ফাংশনের জন্য, False একটি স্বতন্ত্র মান নির্দেশ করে এবং Trueঅন্যথায় ( True=0এবং False=1)

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

আসল, 47 বাইট:

lambda n:[(1,0)[n.pop()in n]for x in[1]*len(n)]

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


lambda n:[1-(n.pop()in n)for x in n*1]কয়েক বাইট সাশ্রয়।
ডেনিস

3
ওপি স্পষ্ট করে দিয়েছে যে সত্যবাদী মানটি আসলে সত্যবাদী হতে হয় না তাই lambda n:[n.pop()in n for x in n*1]কাজ করে।
ডেনিস

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

আপনাকে করতে হবে .pop(0)বা মুখোশটি বিপরীতভাবে আসে।
xnor

Xnor এর অর্থ কী তা নয়। শেষ উপাদানটি প্রথমে .pop()প্রক্রিয়া করে , তাই বিপরীত ক্রমে।
ডেনিস

7

পাইথ, 6 বাইট

.eqxQb

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

পাইথোনিক সিউডোকোডে:

.e      enumerated_map(lambda b,k:    # maps with b as value and k as index
  q       equal(
   xQb      Q.index(b),
            k),                       # implicit lambda variable
          Q)                          # implicit argument to map

এটি এখানে পরীক্ষা করুন।


6

জে , 2 বাইট

~:

এখান থেকেই এই চ্যালেঞ্জের ধারণাটির উদ্ভব হয়েছিল। বিল্টিনকে জেতে ~:ডাকা Nub-Sieveহয় এবং একটি বুলিয়ান তালিকা তৈরি করে যা চ্যালেঞ্জে বর্ণিত অপারেশন সম্পাদন করে। এখানে, 1প্রতিনিধিত্ব করে trueএবং 0উপস্থাপন করে false




4

সি #, 63 বাইট

int[]l(List<int> i)=>i.Select((m,n)=>i.IndexOf(m)-n).ToArray();

আমি এটিকে 1 বা 0 ফেরতও দিতে পারি এবং থার্বিটি প্যারামিটার তৈরি করে এবং রিটার্ন টাইপ করতে পারে একইরকম আমাকে এটিকে নিজেই ল্যাম্বডা প্রকাশ করতে দেয়?

কিছু গাইডেন্স প্রশংসা করা হবে

একই ধরণের কোড

    public static List<int>l(List<int>i){
        return i.Select((m,n)=>i.IndexOf(m)==n?1:0).ToList();
    }

আপনি যদি সত্যবাদী হিসাবে 0 এবং অন্য কিছু হতে মিথ্যা বলে সংজ্ঞা দেন তবে আপনি == n -n এর সাথে প্রতিস্থাপন করতে পারেন এবং একটি
পূর্বাবস্থায়

একটি দুর্দান্ত ধারণা
ডাউনরেপ_নেশন

এছাড়াও এক্সপ্রেশন দেহযুক্ত ফাংশন ব্যবহার করুন [] l (তালিকা <int> i) => i.Select ((m, n) => i.IndexOf (m) -n) .ToArray ();
রাগী

ওহ godশ্বর, এখন থেকে আমার উত্তরগুলিতে অনেকগুলি বাইট সংরক্ষণ করছে। আপনাকে অনেক ধন্যবাদ
ডাউনরেপ_নেশন

আপনি। নেটফিডেলে একটি উদাহরণ দিতে পারেন?
কোডিড্যাকট.কম-

3

পাইথন, 35 বাইট

f=lambda l:l and[l.pop(0)in l]+f(l)

Trueমিথ্যা মান হিসাবে এবং সত্যবাদী মান হিসাবে ব্যবহার করে False। প্রতিটি উপাদানের শেষ উপস্থিতি চিহ্নিত করে।

বাকি উপাদানগুলির মধ্যে এটি উপস্থিত না হলে কেবলমাত্র প্রথম উপাদানটি নির্বাচন করে, তারপরে তালিকার বাকি অংশে যতক্ষণ না খালি খালি এটি পুনরাবৃত্তি করে। l.pop(0)প্রথম উপাদান চায়ের পাশাপাশি এটি সরানোর।


3

রেটিনা , 23 বাইট

(\d+)((?!.* \1\b))?
$#2

ইনপুট একটি স্থান-বিভাজিত তালিকা। (প্রকৃতপক্ষে, অন্যান্য [1, 2, 3]সংখ্যার মতো প্রথম ফর্ম্যাট যতক্ষণ না প্রতিটি সংখ্যার সামনে জায়গা থাকবে ততক্ষণ কাজ করবে))

এটি অনলাইন চেষ্টা করুন!(একসাথে একাধিক লাইনফিড-বিচ্ছিন্ন পরীক্ষার ক্ষেত্রে কাজ করে))

আমরা প্রতিটি উপাদানকে কেবল 0তখনই ইনপুটটিতে এবং 1অন্যথায় রূপান্তরিত করি ।


2

পাওয়ারশেল ভি 2+, 40 বাইট

$a=@();$args[0]|%{(1,0)[$_-in$a];$a+=$_}

একটি খালি অ্যারে তৈরি করে $a। তারপরে আমরা ইনপুট তালিকাটি দিয়ে পাই $args[0]এবং এটি লুপের মধ্যে পাইপ করি |%{...}। প্রতিটি পুনরুক্তি আমরা বর্তমান উপাদানটিতে রয়েছে কিনা তা ভিত্তিতে একটি 1বা 0সিউডো-টের্নারি নির্বাচন করি $a। পাইপলাইনে সেই নির্বাচনগুলি বাকি রয়েছে। তারপরে আমরা বর্তমান উপাদানটিকে অ্যারেতে যুক্ত করব$a । পাইপলাইন উপাদানগুলি একত্রিত হয় এবং অ্যারের হিসাবে আউটপুট অন্তর্ভুক্ত থাকে।

উদাহরণ:

(এখানে একটি নিউলাইন বিভাজক নিয়ে আউটপুট, যেহেতু এটি .ToString()অ্যারের জন্য ডিফল্ট )

PS C:\Tools\Scripts\golfing> .\distinct-sieves.ps1 1,2,3,4,1,3,5,7
1
1
1
1
0
0
1
1

1

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

f=a=>a.map((e,i)=>i-a.indexOf(e))

শূন্য সত্যবাদী এবং অন্যান্য সংখ্যাগুলি মিথ্যা।


1

গণিত, 53 31 বাইট

আমার কাছে একটি ধারণা দেওয়ার জন্য মাইলের জন্য ধন্যবাদ যা 22 বাইট সংরক্ষণ করেছে।

s[[;;x++]]~FreeQ~#&/@(x=0;s=#)&

MapIndexedআগের সাবলিস্ট ব্যবহার করে কীভাবে ? MapIndexed[s[[;;#-1&@@#2]]~FreeQ~#&,s=#]&41 বাইট লাগে
মাইল

@ মাইলস ওহ, এটি আরও ভাল (এবং আমি এটি আরও কিছুটা উন্নত করেছি;))
মার্টিন এন্ডার

ওও MapIndexedএই ক্ষেত্রে সংক্ষিপ্ত করার একটি দুর্দান্ত উপায় এবং আপনাকে সূচিটিও বের করতে বা হ্রাস করতে হবে না
মাইল

1

পার্ল 5

push@o,map{$b=pop@a;(grep{/^$b$/}@a)?1:0}(1..~~@a);

1. ..স্কেলার প্রসঙ্গ সরবরাহ করে, তাই আপনার প্রয়োজন হবে না ~~। ২. grepসত্যবাদী / মিথ্যা ফিরিয়ে দেয়, সুতরাং আপনার প্রয়োজন হবে না ?1:0। ৩. এর grep/.../,@aচেয়ে কম grep{/.../}@a। ৪. আপনার ফাইনালের দরকার নেই ;। ৫. আপনার চারপাশে প্রথম বন্ধনীর প্রয়োজন হবে না 1..@a। You. ইনপুটটি কোথা থেকে আসছে বা আউটপুটটি কোথায় চলেছে তা আপনি দেখান না: meta.codegolf.stackexchange.com/q/2447
msh210

1

জাভা, 96 বাইট

void s(int[]a){for(int i=0,j,n=a.length,b=1;i<n;a[i++]=b,b=1)for(j=i+1;j<n;)b=a[i]==a[j++]?0:b;}

স্থানে অ্যারে পরিবর্তন করে। শেষ ঘটনাটি পছন্দ করেন।

সত্যবাদী মানটি 1যখন মিথ্যা মান হয় 0

সমস্ত টেস্টকেস যাচাই করুন

Ungolfed:

void sieve(int[]a){
    int n = a.length;
    for(int i=0;i<n;i++){
        int b = 1;
        for(int j=i+1;j<n;j++){
            if(a[i] == a[j]){
                b = 0;
            }
        }
        a[i] = b;
    }
}



1

সি ++, 242 বাইট

বোঝা যাচ্ছে যে নেতারা একটি Overkill সমাধান, যেমন কাজ করে কোনো মান ধারক কোন আদেশ টাইপ:

#include<algorithm>
#include<list>
#include<set>
template<class T>auto f(T a){using V=typename T::value_type;std::set<V>s;std::list<bool>r;std::transform(a.begin(),a.end(),std::back_inserter(r),[&](V m){return s.insert(m).second;});return r;}

Ungolfed:

(এবং আরও সাধারণীকরণ)

template<class T>
auto f(T a)
{
    using std::begin;
    using std::end;
    using V=typename T::value_type;
    std::set<V>s;
    std::list<bool>r;
    std::transform(begin(a),end(a),std::back_inserter(r),[&](V m){return s.insert(m).second;});
    return r;
}

পরীক্ষা স্যুট:

int test(const std::list<bool>& expected, const auto& x) { return f(x) != expected; }
#include<array>
#include<chrono>
#include<forward_list>
#include<initializer_list>
#include<string>
#include<vector>
using namespace std::literals::chrono_literals;
int main()
{
    return 0
        + test({},            std::vector<short>{})
        + test({1},           std::array<int,1>{})
        + test({1},           std::vector<char>{55})
        + test({true,true},   std::vector<unsigned>{32,44})
        + test({1,0},         std::list<std::string>{"zero", "zero"})
        + test({1,0,0},       std::vector<long>{9001,9001,9001})
        + test({1,1,1,1},     std::array<char,4>{5,4,7,1})
        + test({1,1,1,1,0,1}, std::initializer_list<std::string>{"one","two","three","four","three","five"})
        + test({1,0,1,0,0},   std::forward_list<std::chrono::seconds>{60s, 1min, 3600s, 60min, 1h});
}


1

পিএইচপি, 66 62 39 বাইট

  • সমস্ত পারমাণবিক মান গ্রহণ করে (বুলিয়ান, পূর্ণসংখ্যা, ভাসা, স্ট্রিং)
    মিথ্যা (ভুয়া, 0, "") এবং সংখ্যাযুক্ত স্ট্রিং ("1" সমান 1) এর মূল্যায়ন ব্যতীত ) গ্রহণ করে
  • পতাকা প্রথম ঘটনা

নতুন সংস্করণ (প্রোগ্রাম, 37 + 2 বাইট)
জাভা এবং (এখন আবার) সি # কে পরাজিত করে। এমনকি পাইথনকেও এখন প্রায় মারধর করে। খুশি.

<?foreach($a as$v)$u[$v]=print$u[$v]|0;
  • পিএইচপি> + 5.4 এর জন্য +6, কোনও ফাংশনের জন্য + 16-3 16
  • পরে 0সত্য (সত্য) এবং 1(মিথ্যা)
    সন্নিবেশ করানোর তালিকাটি মুদ্রণ করে!print বিপরীতমুখী করার
  • ব্যবহার: সেট register_globals=On, short_open_tags=Onএবং error_reporting=0মধ্যে php.iniজন্য php-cgi
    তারপর কলphp-cgi -f <filename> a[]=<value1> a[]=<value2> ...;echo"" ;
  • পিএইচপি> = 5.4 এর জন্য: (+6), সেট এবং $aদিয়ে প্রতিস্থাপন করুন$_GET[a]short_open_tags=Onerror_reporting=0
  • বা (+19) এর $aসাথে প্রতিস্থাপন করুন array_slice($argv,1), <?(-2) সরান
    এবং কল করুনphp -d error_reporting=0 -r '<code>' <value1> <value2> ...;echo""

পুরানো সংস্করণ (ফাংশন, 62 বাইট)

function f($a){foreach($a as$v)$u[$v]=1|$m[]=$u[$v];return$m;}
  • falseসত্য এবং trueমিথ্যা জন্য অ্যারে প্রদান করে ; (খালি স্ট্রিং বা যেমন ouput 1)
    সন্নিবেশ !পর $m[]=বিপরীতমুখী করার
  • 55 বাইট সহ একটি যোগ্য ক্রিয়াকলাপের আরও একটি উপায় রয়েছে।

পরীক্ষা (পুরানো সংস্করণে)

function out($a){if(!is_array($a))return$a;$r=[];foreach($a as$v)$r[]=out($v);return'['.join(',',$r).']';}
function test($x,$e,$y){static $h='<table border=1><tr><th>input</th><th>output</th><th>expected</th><th>ok?</th></tr>';echo"$h<tr><td>",out($x),'</td><td>',out($y),'</td><td>',out($e),'</td><td>',(strcmp(out($y),out($e))?'N':'Y'),"</td></tr>";$h='';}
$samples=[
    [0],[1],    [55],[1],    [32,44],[1,1],    [9001,9001,9001],[1,false,false],
    [5,4,7,1],[1,1,1,1],    [1,2,3,4,3,5],[1,1,1,1,false,1],
    [5,9,7,5,6,0,5],[1,1,1,false,1,1,false],    [0,8,6,6,3,8,7,2],[1,1,1,false,1,false,1,1],
    [45,47,47,45,24,24,24,8,47,41,47,88],[1,1,'','',1,'','',1,'',1,'',1],
    [154,993,420,154,154,689,172,417,790,175,790,790,154,172,175,
        175,420,417,154,175,172,175,172,993,689, 993,993,790],
        array_merge([1,1,1,false,false,1,1,1,1,1],array_fill(0,18,false))
];
for($i=count($samples);$i--;--$i)for($j=count($samples[$i]);$j--;)$samples[$i][$j]=!$samples[$i][$j];
while($samples)
{
    $a=array_shift($samples);
    $em=array_shift($samples);
    test($a,$em,$ym=s($a));
    $eu=[];foreach($em as$i=>$f)if($f)$eu[]=$a[$i];
    $yu=[];foreach($ym as$i=>$f)if($f)$yu[]=$a[$i];
#   sort($eu); sort($yu);
    test('unique values',$eu,$yu);
}
echo '</table>';

1

হাস্কেল, 29 27 বাইট

f a=[elem x t|x:t<-tails a]

মিথ্যা মান Falseহিসাবে সত্য হিসাবে ব্যবহার করে True:

λ> let f a=[elem x t|x:t<-tails a] in f [5, 9, 7, 5, 6, 0, 5]
[True,False,False,True,False,False,False]

আপনার import Data.Listব্যবহার করতে হতে পারে tailsতবে, tryhaskell.org কোডটি চালায়।


বাইরের প্রথম বন্ধনের প্রয়োজন নেই। \a->[...]একটি সঠিক ফাংশন। সন্দেহ থাকলে, এটি একটি নাম দিন: f a=[...]
নিমি

@ নিমিমি প্রথম বন্ধনী ছাড়া কল করতে পারে না। তবে এটির নামকরণ কাজ করে, অনেক অনেক ধন্যবাদ।
নেস

বাদ দেওয়ার এই ন্যায্যতাটিকে আমি import Data.Listখুব বেশি পছন্দ করি না । ক। আপনি আপনার জিএইচসিআই কনফিগারেশনে যে পরিমাণ আমদানি (বা এমনকি সংজ্ঞাও দিতে পারেন) রাখতে পারায় এটি একটি খুব পিচ্ছিল opeাল। খ। ট্র্যাকহসেলেল.আর.আর্গ.কে হাস্কেল ভাষার একটি অনুমোদনমূলক বাস্তবায়ন হিসাবে বিবেচনা করে, তবে এটি সত্যই এক নয়। (আবার, যদি আমি আমার নিজের চেষ্টা-হাস্কেল-অনলাইন পরিবেশ তৈরি করি যা গল্ফাররা যে সমস্ত আমদানি এবং সংজ্ঞা নিতে পারে তার সাথে আসতে পারে? এটি কি এখনও সত্যই "হাস্কেল"?)
লিন

আমাকে এখানে একবার বলা হয়েছিল যে যদি এমন কোনও প্ল্যাটফর্ম থাকে যা কোডটি চালায় তবে তা সেই কোডটি গ্রহণযোগ্য। সঠিক বিধিগুলি কী তা আমি জানি না, আমি যা বলেছি তা অনুসরণ করি। আমি হ্যাঁ মনে করি, যদি আপনার সাইট 24/7 উপলভ্য থাকে এবং স্ট্যান্ডার্ড হাস্কেল চালায় তবে কেন নয়। তবে আপনি প্রথমটির কথা ঠিক বলেছেন, আমি এটি সরিয়ে দিয়েছি। ধন্যবাদ।
নেস

1

পার্ল 5 + পেরলিগাটা , 343 বাইট

315 বাইট, আরও 28 জন্য -MLingua::Romana::Perligata

হিসাবে ব্যবহার করুন perl -MLingua::Romana::Perligata foo.pl; ইনপুট (স্টিডিন থেকে) এবং আউটপুট (স্টাডআউট থেকে) হ'ল দশমিক পূর্ণসংখ্যার আন্ডারস্কোর দ্বারা পৃথক স্ট্রিং। স্ট্রবেরি ৫.২০.২ তে পরীক্ষিত পেরিলিগাতার সংস্করণ 0.6; এটি পারলিগাটা সংস্করণ 0.50 এর সাথে কাজ করে কিনা আমি জানি না।

huic vestibulo perlegementum da.qis _ scindementa da.dum qis fac sic
ao qis decumulamentum da.ao aum tum nullum addementum da.meo io.meo ro.per ium in qis fac sic
si ium tum aum aequalitas fac sic ro I da cis cis
ro nullum tum non rum addementum da.capita bis rum cis
per in bis fac sic hoc tum _ egresso scribe cis

স্পষ্টতই এটি একটি ঘণ্টা হিসাবে পরিষ্কার is ক্ষেত্রে এটি না হয়, তাহলে দিয়ে চালানো হচ্ছে -MLingua::Romana::Perligata=converteপরিবর্তে -MLingua::Romana::Perligata, এবং perlহবে, পরিবর্তে স্ক্রিপ্ট, আউটপুট নিয়মিত পার্ল মধ্যে একটি অনুবাদ চলমান:

 $_ = Lingua::Romana::Perligata::getline (*STDIN );
 @q = split ( '_');
while (@q) { $a = pop (@q );
 $a =  ($a + 0);
my $i ;
my $r ;
for $i (@q) {if ( ($i eq $a)) { $r = 1}
}
;
 $r =  (0 +  ! ($r));
unshift (@b, $r)}
;
for $_ (@b) {print (STDOUT $_, '_')}

টোকেন বাই টোকেন বিশ্লেষণের জন্য ব্যবহার করুন -MLingua::Romana::Perligata=discribe


গল্ফিং নোট:

  • Undocumented (তবে উদ্বেগজনক), এর পরে আপনার কোনও জায়গার দরকার নেই .
  • (এছাড়াও উদ্বেগজনক), scindeদ্বিতীয় তর্ক এবং ব্যবহারের প্রয়োজন হয় না hoc
  • কাজ ao aum tum nullum addementum daকরতে না পারায় আমাকে ব্যবহার করতে হয়েছিল morde
  • একইভাবে, আমি কাজে লাগাতে per ium in qis... ro I daনা পারার কারণে ব্যবহার করেছি vanne
  • পরিবর্তে huic vestibulo perlegementum da, আমি চেষ্টা করেছি-pMLingua::Romana::Perligata , কিন্তু এটি কাজ করতে পারেনি, হয়।

কেবল কিকের জন্য (যদিও এই পুরো উত্তরটি কেবল কিকের জন্য ছিল):

  • এটি পরিষ্কার করার পরে Huic vestibulo perlegementum da. Qis lacunam scindementa da. Dum qis fac sic ao qis decumulamentum da. Ao aum tum nullum addementum da. Meo io. Meo ro. Per ium in qis fac sic si ium tum aum aequalitas fac sic ro I da cis cis. Ro nullum tum non rum addementum da. Capita bis rum cis. Per in bis fac sic hoc tum lacunam egresso scribe cis., গুগল অনুবাদ দেয় This court perlegementum grant. QIS gap scindementa grant. While QIS QIS decumulamentum do so ao da. Ao sum and no addementum grant. My io. My ro. Through ium in QIS do so if the sum ium equality do so ro 1 from cis. Ro was not any rum addementum grant. The heads of the bis side. Write, do so as soon as he at that time that in the gap by the Kish was taken.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.