N এবং n ^ 3 তে কি একই সংখ্যার সেট রয়েছে?


52

একটি নম্বর দেওয়া এন (0 <= <= 2642245), চেক যদি এন এবং N 3 ডিজিটের একই সেট, এবং আউটপুট একটি truthy বা falsey মান অনুযায়ী আছে।

উদাহরণস্বরূপ, আসুন 100 টি পরীক্ষা করুন।

100 3 1000000 হয়।

100 এর মধ্যে অঙ্কগুলির সেটটি হল {0, 1}}

1000000 এ সংখ্যার সেটটি {0, 1}}

অতএব, 100 এর সত্যবাদী মান দেওয়া উচিত।

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

0 -> True
1 -> True
10 -> True
107624 -> True
251894 -> True
251895 -> False
102343 -> False

মনে রাখবেন, এটি , তাই সবচেয়ে কম বাইটের কোডটি জয়ী।

OEIS A029795


28
প্রস্তাবিত পরীক্ষার কেস: 106239
ডেনিস

8
টেস্ট কেস: 2103869 -> True। এটি (বা আরও বড় একটি) একটি longডেটাটাইপ দিয়ে কোনও ভাষা পরীক্ষা করার জন্য প্রয়োজনীয় ।
mbomb007

5
খুব খারাপ এটি bit৪ বিট পূর্ণসংখ্যার প্রকার ছাড়াই ভাষার পক্ষে সর্বাধিক বড়।
edc65

17
আমি মনে করি আপনার বেসটি সম্পর্কে স্পষ্ট হওয়া উচিত ... বাইনারিটিতে এটি মজা অর্ধেক :
দ্য Vee

7
@ ZoltánSchmidt 106239 ক্ষুদ্রতম ইতিবাচক পূর্ণসংখ্যা এন যেমন যে - 1199090390129919 - সব ডিজিটের ধারণ করে না এন । যদি কিছু উত্তর শুধুমাত্র মিলিয়ে নিচ্ছিলাম এন সব ডিজিটের অন্তর্ভুক্ত এবং এইভাবে জন্য ভুল ফলাফল পেয়েছি 106239
ডেনিস

উত্তর:


28

পাইথন 3, 36 32 বাইট

lambda x:{*str(x)}=={*str(x**3)}

আমি মনে করি এটি কেবল পাইথন 3.5 এবং এর পরে কাজ করে। চারটি বাইট গেছে, কপারকে ধন্যবাদ।


8
পাইথন 2 এ আপনি ব্যাইটিক্স 6 টি বাইট সাশ্রয় করে repr () এর শর্টকাট হিসাবে ব্যবহার করতে পারেন। set(`x`)
ডেনডেনডো

9
@ ডেনডেনডো 2097152( sys.maxint**(1/3.)) এর চেয়ে বড় ইনপুট এবং এর চেয়ে কম আপনি যদি ব্যবহার করেন তবে sys.maxint+1ফিরে আসবে । repl.it/EXs2/1 । লং এর শেষে রয়েছে। Falserepr()L
mbomb007

9
নিরীক্ষিত, তবে আপনি সম্ভবত lambda x:{*str(x)}=={*str(x**3)}পাইথন 3.5+ তে করতে পারেন ।
তামা

1
@ বেনহয়েট এটি মুদ্রণ (...) এবং ইনপুট () ব্যবহার করার চেয়ে বেশি সংক্ষিপ্ত। এটিকে একটি ক্রিয়াকলাপ করা পুরো প্রোগ্রাম তৈরির চেয়ে কম।
0WJYxW9FMN

1
কারণ প্রশ্ন ফেরার একটি truthy বা falsy মান যথেষ্ট বলছেন, 'তুমি প্রতিস্থাপন করতে পারেন ==দ্বারা ^। দুটি সমান সেট সীসা {}যা মিথ্যা বলে।
রিমকো জারলিচ

19

05 এ বি 1 ই , 6 বাইট

05AB1E সিপি -1222 এনকোডিং ব্যবহার করে।

3mê¹êQ

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

ব্যাখ্যা

3m       # input^3
  ê      # sorted with duplicates removed
     Q   # is equal to
   ¹ê    # input sorted with duplicates removed

1
@ পুজমোরক্রোয়েশিয়া: 05 এ বি 1 ই সিপি -1222 এনকোডিং ব্যবহার করে, সুতরাং এই সমস্ত অক্ষর প্রতিটি করে 1 বাইট। গল্ফিংয়ের ভাষাগুলিতে ইউটিএফ -8 এর চেয়ে বেশি মুদ্রণযোগ্য অক্ষরযুক্ত কোড পৃষ্ঠা ব্যবহার করা বা বিকল্পভাবে তাদের নিজস্ব কোড পৃষ্ঠা তৈরি করা বেশ সাধারণ বিষয় is
এমিগানা

7
উত্তরের জন্য ধন্যবাদ. দুর্ভাগ্যক্রমে, আমার মন্তব্য সম্পাদনা করার চেষ্টা করার সময়, আমি এটি মুছে ফেলেছি। সবার কাছে বিষয়গুলি পরিষ্কার করার জন্য, আমি কোড গল্ফিং ভাষাগুলিতে অক্ষরগুলির এনকোডিং সম্পর্কে জিজ্ঞাসা করেছি
পুজমোর ক্রোয়েশিয়া

14

সি, 73 বাইট

k;b(i){k=0;while(i)k|=1<<i%10,i/=10;return k;}f(n){return b(n)-b(n*n*n);}

বিটের মাধ্যমে সেট তৈরি করে। রিটার্নস 0একই সেট জন্য, বিভিন্ন সেটের জন্য অন্য কিছু।

Ungolfed:

k;
b(i){
  k=0;
  while(i)
    k|=1<<i%10,
    i/=10;
  return k;
}

f(n){
  return b(n)-b(n*n*n);
}

বিটগুলি 1 <<সেট করার সাথে সাথে অরগল্ফড কোডটি অনুপস্থিত k |= 1 << i % 10। দুর্দান্ত সমাধান!
ডার্কো 1


আমরা কি সত্য 0হিসাবে বিবেচনা করতে দেওয়া হয় ? আমার ধারনা strcmpসেভাবে কাজ করে, তাই এটি সি
পিটার কর্ডেস

1
এটি কেবলমাত্র int64-বিটের চেয়ে বড় যদি প্রশ্নের প্রয়োজন হয় তবে সম্পূর্ণ ইনপুটগুলির জন্য কাজ করে । (এমনকি স্বাক্ষরিত -৪-বিটই যথেষ্ট নয়, তবে স্বাক্ষরিত 64৪-বিট হ'ল)। সুতরাং সি এর কোন বাস্তব বাস্তবায়ন নেই যা আমি জানি যেখানে এটি প্রশ্নের প্রয়োজনীয়তাগুলি পূরণ করে। (এটি সঠিকভাবে কাজ করে unsigned long longবা কেবল unsigned longবাস্তবায়নে যেখানে এটি 64৪-বিট প্রকারের)। জিএনইউ সি 64৪ __int128_t-বিট মেশিনে সংজ্ঞা দেয় (কোনও শিরোনাম ছাড়াই) ...
পিটার কর্ডেস

8

পার্ল, 31 + 2 ( -plপতাকা) = 25 21 18 34 33 বাইট

$_=($==$_**3)!~/[^$_]/*!/[^$=]/

ব্যবহার:

perl -ple '$_=($==$_**3)!~/[^$_]/*!/[^$=]/' <<< 251894

আউটপুট: 1\nবা 0\n

থ্যাঙ্কস থেকে @ দাদাকে 3 বাইটের জন্য, গ্যাব্রিয়েল বেনামি 1 বাইটের জন্য, এবং বাগের প্রতিবেদনের জন্য @ জাইদ।


1
চমৎকার উত্তর! আপনি এখনও কয়েকটি (3) বাইট সংরক্ষণ করতে পারেন:perl -pe '$_=$_**3!~/[^$_]/'
দাদা

@ জায়েদ থ্যাঙ্কস সংশোধন করা হয়েছে।
ডেনিস ইবায়েভ

এখন এটি এর জন্য মিথ্যা আউটপুট দেয় 10:(
জায়েদ

@ জায়েদ হাঁ -lপতাকা প্রয়োজন।
ডেনিস ইবায়েভ

2
পরিবর্তন &&একটি থেকে *একটি বাইট সংরক্ষণ করতে
গ্যাব্রিয়েল Benamy

7

গণিত, 34 বাইট

f=Union@*IntegerDigits;f@#==f[#^3]&

সরাসরি বাস্তবায়ন (এক পূর্ণসংখ্যার যুক্তির নামবিহীন ফাংশন)।


7

জেলি , 8 বাইট

,3*\D‘ṬE

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

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

,3*\D‘ṬE  Main link. Argument: n

,3        Pair; yield [n, 3].
  *\      Cumulative reduce by exponentation. Yields [n, n³].
    D     Decimal; yield the digit arrays of n and n³.
     ‘    Increment, mapping 0 ... 9 to 1 ... 10.
      Ṭ   Untruth (vectorizes); map digit array [a, b, c, ...] to the smallest
          of zeroes with ones at indices a, b, c, ...
       E  Test the results for equality.


6

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

3 বাইটের জন্য ডাউনগোটকে ধন্যবাদ! আপনি ES7 এ রূপান্তর করে এবং এর n**3পরিবর্তে ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন n*n*n

n=>(f=s=>[...new Set(s+[])].sort()+[])(n)==f(n*n*n)

যথেষ্ট সহজ।


এটা ভয়াবহ যে সমতার জন্য সেটগুলির তুলনা করার ভাল উপায় নেই
njzk2

1
@ njzk2 ঠিক আছে, আমি বলব বৃহত্তর ট্র্যাজেডি হ'ল ==এটি অ্যারেতেও কাজ করে না।
কনর ও'ব্রায়েন

আপনি পরিবর্তন করে একটি বাইট সংরক্ষণ করতে পারবেন n*n*nকরার n**3, কিন্তু আমি অনুমান ES7 এবং ES6 হতে পারে।
রবার্ট হিকম্যান

1
@ ডাউনগোট ধন্যবাদ, এটি আমাকে আরও কিছু বাইট সংরক্ষণ করতে অনুপ্রাণিত করেছে!
কনর ও'ব্রায়েন

3
এটি এর জন্য ব্যর্থ হয় 2103869এবং সমস্যার স্পষ্টভাবে কাজ করার সমাধানের প্রয়োজন হয় 2642245
ব্যবহারকারী 5090812

6

সি #, 241 208 205 201 193 233 222 220 212 203 177 159 বাইট (109 বিকল্প)

I=>{x=s=>{var a=new int[10];foreach(var h in s+"")a[h-'0']++;return a;};var i=x(I);var j=x(I*I*I);for(var k=0;k<10;)if(i[k]>0^j[k++]>0)return 0>1;return 1>0;};

ল্যাম্বডা অবশ্যই ulongপ্রকারটি ব্যবহার করবে :

System.Func<ulong, bool> b; // = I=>{...};
System.Func<ulong, int[]> x; // inner lambda

কিছুটা বাইট সংরক্ষণ করার জন্য @ করাক এবং @ ডেনিস_ই এবং আমার আসল সমাধানটিতে কোনও সমস্যা খুঁজে পাওয়ার জন্য @ টিমমিডকে ধন্যবাদ। উলং / দীর্ঘ / দশমিক / ইত্যাদি সমস্যা চিহ্নিত করার জন্য @ স্যাক্সনসনপিকে ধন্যবাদ জানাই (যা আসলে আমাকে কিছুটা বাইটও সংরক্ষণ করেছিল)।


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

using System.Collections.Generic;I=>{return new HashSet<char>(I+"").SetEquals(new HashSet<char>(I*I*I+""));};

আপনি কি p<0পরিবর্তে চেক করতে পারেন p==1?
Yytsi

@ টুক্কাএক্স এটি করতেন তবে এখন যেভাবে সেটগুলি নির্ধারণ করছি তা হ'ল উভয় স্ট্রিংয়ের জন্য যথাযথ সূচককে বাড়িয়ে, পূর্ণসংখ্যার একই অ্যারে ব্যবহার করছে, সুতরাং 0 বা 2 এর মান ঠিক আছে, তবে যদি কোনও 1 হয়, এটা মিথ্যা ফিরে উচিত।
ইয়েডল

অ্যারেগুলি পৃথক ল্যাম্বডায় তৈরি এবং পূরণ করে খুব অল্প পরিমাণে সংরক্ষণ করুন:n=>{Func<string,int[]>x=s=>{var a=new int[10];foreach(var c in s)a[int.Parse(c+"")]++;return a;};var i=x(n);var j=x((long)Math.Pow(int.Parse(n),3)+"");for(var k=0;k<10;)if(i[k]>0^j[k++]>0)return 0>1;return 1>0;};
করাক

আপনি এর int.Parse(c+"")সাথে প্রতিস্থাপন করতে পারেনc-'0'
ডেনিস_ ই

2103869 পরীক্ষার কেস ব্যর্থ হয়েছে I (কোনও বিষয় নয়, আমি longulong
এটির কারণটি

6

জাভা 8, 154 টি অক্ষর

a->java.util.Arrays.equals((a+"").chars().distinct().sorted().toArray(),(new java.math.BigInteger(a+"").pow(3)+"").chars().distinct().sorted().toArray());

এভাবে ডাকা:

interface Y {
    boolean n(int x);
}

static Y y = a->java.util.Arrays.equals((a+"").chars().distinct().sorted().toArray(),(new java.math.BigInteger(a+"").pow(3)+"").chars().distinct().sorted().toArray());

public static void main(String[] args) {
    System.out.println(y.n(0));
    System.out.println(y.n(1));
    System.out.println(y.n(10));
    System.out.println(y.n(107624));
    System.out.println(y.n(251894));
    System.out.println(y.n(251895));
    System.out.println(y.n(102343));
}

আউটপুট:

true
true
true
true
true
false
false

একটি খুব জাভা 8-y উত্তর, ল্যাম্বডা ব্যবহার করে পাশাপাশি কয়েকটি অভিনব নম্বর-থেকে-স্ট্রিং রূপান্তর সহ স্ট্রিম।

দুর্ভাগ্যক্রমে আমাদের ম্যাথ.পাউ এর BigInteger.pow(3)পরিবর্তে Math.pow(a,3)অন-সুনির্দিষ্ট ডাবলগুলি ব্যবহার করার দরকার রয়েছে যা বৃহত সংখ্যক (দিয়ে শুরু করে 2103869) দিয়ে ভুল মানগুলি ফেরত দেয় ।


এই static Y yজিনিসটি একটি অদ্ভুত প্রারম্ভিক বাক্য গঠন, এটি y.nইন্টারফেসের ঠিক একজন সদস্য থাকার কারণে এটি কি স্বয়ংক্রিয়ভাবে সাইন হয় ?
বিড়াল

আমি তাই বিশ্বাস করি, হ্যাঁ। সত্য কথা বলতে গেলে আমি জাভা 8-তে নতুন থাকি যেহেতু আমার কর্মক্ষেত্রটি এখনও 7-এ রয়েছে, তবে আমি এটি বুঝতে পারি যে এটি কাজ করে।
হাইপিনো

@FunctionalInterfaceসংকলকটি স্বয়ংক্রিয়ভাবে টীকা যুক্ত করে (কেবলমাত্র একটি পদ্ধতির সাথে ইন্টারফেস, জাভাদোক দেখুন) যা সাধারণত বেনাম প্রকারের ইনস্ট্যান্টেশন পরিবর্তে ল্যাম্বডাসকে কাজ করে।
ডার্কো 1

এটি মূলত সমান Y y = new Y() { @Override public boolean n(int x) { return Arrays.equals((a+"").chars().distinct().sorted().toArray(),(new BigInteger(a+"").pow(3)+"").chars().distinct().sorted().toArray()); } }এবং স্থির মূল পদ্ধতি থেকে staticকলিংয়ের অনুমতি দেওয়ার জন্য কেবল সেখানে পরিবর্তনকারী রয়েছে y.n(int)
ডার্কো 1

1
কিছু নয়, কেবল এই সম্পর্কে মেটা পোস্টটি পড়ুন এবং মনে হয় সম্প্রদায় সম্মত। আমি মনে করি আমি দেখতে পাচ্ছি কেন। আমি আপডেট করব।
হাইপিনো

6

ব্যাশ, 69, 59 বাইট

হালনাগাদ

ব্যাশে এটি করার আরেকটি দুর্দান্ত উপায় হ'ল টিআর (62 বাইট, তবে সম্ভবত আরও কিছুটা ছেঁকে নেওয়া যেতে পারে) ব্যবহার করা)

T() { m=`bc<<<$1^3`;[ -z "`tr -d $m <<<$1;tr -d $1 <<<$m`" ];}

সম্পাদনা: আরও কয়েকটি অপ্টিমাইজেশন (থেক্স! @ মান্যাটওয়ার্ক)

Golfed

T() { S(){ fold -1|sort -u;};bc<<<$1^3|S|diff - <(S<<<$1);}

পরীক্ষা

TEST() {
 T $1 >/dev/null; echo $?
}

TEST 0
0
TEST 1
0
TEST 11
1
TEST 10
0
TEST 107624
0
TEST 251894
0
TEST 251895
1
TEST 102343
1
TEST 106239
1

সাফল্যের জন্য 0 - প্রস্থান কোড 1 - ব্যর্থতার জন্য (প্রস্থান কোড)


আমি ভয় করি বেস থিওরিটি এখানে পুরোপুরি ভুল। ব্যবহার করে দেখুন T <<< 11। বলবেন যে ডিজিট সেটগুলি একই হবে কারণ 11 ** 3 == 1331 এর মধ্যে দুটি সংখ্যা মূল সংখ্যায় উপস্থিত নেই।
manatwork

হ্যাঁ, আপনি সঠিক, স্থির! ধন্যবাদ !
জেপেলিন

ঠিক আছে, তবে এখন কোডে কিছু অতিরিক্ত স্পেস রয়েছে। আপনি কেন -wস্পষ্টভাবে যুক্ত করেছেন তা নিশ্চিত নন fold। যদি uniqঅপশন ছাড়া ব্যবহার করা হয়, sort -uএটা প্রতিস্থাপন করতে পারেন। এবং এখানে স্ট্রিং সহ 2 য় এস কলটি ফিড করুন। এবং আমি মনে করি যে সূত্রটি পাস হয়েছে তা উদ্ধৃত করার দরকার নেই bc
manatwork

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

1
@ জেপেলিন: আপনি এর cmpপরিবর্তে ব্যবহার করতে পারেন diffএবং 1 বাইট সংরক্ষণ করতে পারেন ।
ইপোর স্যারসার

6

x86-64 মেশিন কোড ফাংশন, 40 বাইট।

অথবা যদি 0 বনাম শূন্য-শূন্যটি স্ট্রিম্পের মতো "সত্যবাদী" হিসাবে অনুমোদিত হয় তবে 37 বাইট।

বিটম্যাপ ধারণার জন্য কার্ল নেপফের সি উত্তরের জন্য ধন্যবাদ, যা বিটিএসের সাথে x86 খুব দক্ষতার সাথে করতে পারে ।

ফাংশন স্বাক্ষর: _Bool cube_digits_same(uint64_t n);x86-64 সিস্টেম ভি এবিআই ব্যবহার করে। ( nআরডিআই-তে, আলিতে বুলিয়ান রিটার্ন মান (0 বা 1))।

_Boolআইএসও সি 11 দ্বারা সংজ্ঞায়িত করা হয় এবং সাধারণত সি ++ এর মতো একই শব্দার্থবিজ্ঞানের সাথে #include <stdbool.h>সংজ্ঞা দিতে ব্যবহৃত হয় ।boolbool

সম্ভাব্য সঞ্চয়:

  • 3 বাইট: বিপরীত শর্তটি ফিরিয়ে দেওয়া (কোনও পার্থক্য থাকলে শূন্য নয়)। বা ইনলাইন asm থেকে: একটি পতাকা শর্ত ফেরত (যা gcc6 দিয়ে সম্ভব)
  • 1 বাইট: যদি আমরা ইবিএক্স ক্লোবার করতে পারি (এটি করার ফলে এই ফাংশনটি একটি মানহীন কলিং কনভেনশন দেয়)। (ইনলাইন asm থেকে এটি করতে পারে)
  • 1 বাইট: আরইটি নির্দেশনা (ইনলাইন asm থেকে)

এগুলি সমস্তই সম্ভব যদি এটি কোনও ফাংশনের পরিবর্তে কোনও ইনলাইন-এসএম খণ্ড ছিল, যা এটি ইনলাইন-এসএমের জন্য 35 বাইট করে

0000000000000000 <cube_digits_same>:
   0:   89 f8           mov    eax,edi
   2:   48 f7 e7        mul    rdi          # can't avoid a REX prefix: 2642245^2 doesn't fit in 32 bits
   5:   48 f7 e7        mul    rdi          # rax = n^3, rdx=0
   8:   44 8d 52 0a     lea    r10d,[rdx+0xa]  # EBX would save a REX prefix, but it's call-preserved in this ABI.
   c:   8d 4a 02        lea    ecx,[rdx+0x2]

000000000000000f <cube_digits_same.repeat>:
   f:   31 f6           xor    esi,esi

0000000000000011 <cube_digits_same.cube_digits>:
  11:   31 d2           xor    edx,edx
  13:   49 f7 f2        div    r10         ; rax = quotient.  rdx=LSB digit
  16:   0f ab d6        bts    esi,edx     ; esi |= 1<<edx
  19:   48 85 c0        test   rax,rax     ; Can't skip the REX: (2^16 * 10)^3 / 10 has all-zero in the low 32.
  1c:   75 f3           jne    11 <cube_digits_same.cube_digits>

                                         ; 1st iter:                 2nd iter:                both:
  1e:   96              xchg   esi,eax   ; eax=n^3 bitmap            eax=n bitmap             esi=0
  1f:   97              xchg   edi,eax   ; edi=n^3 bitmap, eax=n     edi=n bmp, eax=n^3 bmp
  20:   e2 ed           loop   f <cube_digits_same.repeat>

  22:   39 f8           cmp    eax,edi
  24:   0f 94 d0        sete   al
                  ;; The ABI says it's legal to leave garbage in the high bytes of RAX for narrow return values
                  ;; so leaving the high 2 bits of the bitmap in AH is fine.
  27:   c3              ret    
0x28: end of function.

LOOP মনে হচ্ছে একবারে পুনরাবৃত্তি করার সবচেয়ে ছোট উপায় way আমি কেবল লুপটি পুনরাবৃত্তি করতে দেখেছি (আরএক্স উপসর্গগুলি এবং একটি ভিন্ন বিটম্যাপ নিবন্ধ ছাড়া) তবে এটি কিছুটা বড়। আমি পুশ আরএসআই ব্যবহার করে এবং একবার test spl, 0xf/ jzটু লুপ ব্যবহার করেও চেষ্টা করেছি (যেহেতু এবিআইয়ের প্রয়োজন যে আরএসপি কল করার আগে 16 বি সারিবদ্ধ, সুতরাং একটি ধাক্কা এটি সারিবদ্ধ করে, এবং অন্য একটি এটি আবার মিসিলিন করে)। কোনও test r32, imm8এনকোডিং নেই, তাই সবচেয়ে ছোট উপায়টি ছিল একটি 4 ই টি টেস্ট নির্দেশ (একটি রেক্স প্রেফিক্স সহ) সাথে কোনও প্রতিরোধের বিরুদ্ধে আরএসপির ঠিক কম বাইট পরীক্ষা করার জন্য। এলইএ + লুপ হিসাবে একই আকার, তবে অতিরিক্ত পুশ / পিওপি নির্দেশাবলী প্রয়োজন।

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

_Bool cube_digits_same(unsigned long long n);

#include <stdio.h>
#include <stdbool.h>
int main()
{
    for(unsigned n=0 ; n<= 2642245 ; n++) {
        bool c = f(n);
        bool asm_result = cube_digits_same(n);
        if (c!=asm_result)
            printf("%u problem: c=%d asm=%d\n", n, (int)c, (int)asm_result);
    }
}

কেবলমাত্র মুদ্রিত লাইনে সি = 1 asm = 0 রয়েছে: সি অ্যালগরিদমের জন্য মিথ্যা-ধনাত্মক।

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


মেশিন কোডে গল্ফ কোড ? এটাই সত্য প্রভুত্ব!
chx

@ সিএইচএক্স: কোডের আকারের জন্য এটি অনুকূলভাবে এটি সমাবেশ ভাষায়। আমি সরাসরি হেক্স বাইটগুলি লিখি না, কেবল প্রতিটি নির্দেশের আকারটি আমি জানি (বা চেক করুন)। (আমি যা পোস্ট করেছি তা হ'ল ইয়াসেমের সাথে একত্রিত হওয়া এবং তারপরে objdump -drwC -Mintelঅবজেক্ট ফাইলে চালানো এবং মন্তব্যগুলি অনুলিপি করা)। এটি এমন একটি ভাষা যেখানে কোডের আকারের জন্য অনুকূলিতকরণ বাস্তবে বাস্তব জীবনে কার্যকর। (। এমনকি তারপর, শুধুমাত্র bootloaders বা গণদেবতা মত বিরল ক্ষেত্রে সাধারণত এটি শুধুমাত্র কোড আকার সংরক্ষণ যখন এটি আগে থেকেই-ক্যাশে ক্ষেত্রে কর্মক্ষমতা আঘাত না এর মূল্য, কিন্তু তারপর এটা দরকারী এড়ানোর ডিকোড bottlenecks + + ক্যাশে মিস)
পিটার Cordes

@ সিএইচএক্স: তবে হ্যাঁ, ছড়িয়ে ছিটিয়ে থাকা আমাকে খারাপের মতো মনে করে, দেখার জন্য ধন্যবাদ :) আমার অন্যান্য উত্তরগুলি দেখুন, এখানে এবং এসও তে :)
পিটার কর্ডেস

আমি অ্যাসেমব্লিতে খুব পুরানো টুপি (1987, জেড 80 প্রথম ছিল) তবে আমি কখনই কোড গল্ফটিতে প্রবেশ করার কথা ভাবিনি। আমি অসম্ভব ভাবতাম।
chx

@ সিএইচএক্স: আমি কেবল মাঝেমধ্যে গল্ফ করি, সাধারণত যখন আমি হট নেটওয়ার্ক প্রশ্নগুলির মধ্যে একটিটি দেখি যা এসএমটির পক্ষে যুক্তিসঙ্গত বলে মনে হয়। সাধারণত স্ট্রিং নয়, সংখ্যা সহ স্টাফ। যদিও আরও কিছু লোক ছাইতে গল্ফ করে। অন্য কারও মেশিন-কোড গল্ফ উত্তর না পাওয়া পর্যন্ত আমি নিজেই এটি করার চিন্তা করিনি। হয়ে থাকতে পারে এই এক আমার আসলে আপনি মেশিন কোড এ এস এম উত্তরের জন্য এ এস এম উৎস অক্ষরের পরিবর্তে বাইট গণনা করতে পারে করার জন্য clued। এনাটোলিগ এই প্রশ্নটি সহ কিছু পোস্ট করেছে।
পিটার কর্ডেস

5

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

n%p=[c|c<-['0'..],elem c$show$n^p]
f n=n%1==n%3

খুব ধীর. সঙ্গে পরীক্ষা c<-['0'..'9']

স্ট্রিং প্রতিনিধিত্বের অন্তর্ভুক্তির জন্য প্রতিটি চরিত্র পরীক্ষা করে এবং অন্তর্ভুক্তগুলির nএকটি তালিকা তৈরি করে। একই জন্য n^3এবং তালিকাগুলি সমান কিনা তা পরীক্ষা করে।


হাস্কেলের কি আক্ষরিক সেট নেই বা এমন কোনও ফাংশন যা কোনও তালিকা থেকে অনন্য উপাদানগুলি ফেরত দেয়?
বিড়াল

2
@cat নং Haskell, হয়েছে nub(অনন্য উপাদান পেতে) এবং sort, তবে দুটো একসাথে লম্বা আমদানি প্রয়োজন import Data.List। এমনকি, তাই এটা 48 বাইট খুব ঘনিষ্ঠ আসে: import Data.List;q=sort.nub.show;f n=q n==q(n^3)
xnor

বাছাই করার দরকার কেন ...?
বিড়াল

1
@ বিড়াল nubপ্রথম উপস্থিতির মাধ্যমে অর্ডার সংরক্ষণ করে, যেমন nub [3,1,3,2,1,2] == [3,1,2]। এটি কোনও সেট ধরণের রূপান্তর করে না (কোনওটি নেই), তবে একটি তালিকা দেয়।
xnor

ওহ, আমি কখনই বুঝতে পারি নি যে হাস্কেলের কোনও আদিম সংগ্রহবিহীন সংগ্রহের ধরণ নেই, তা বোঝায়
বিড়াল

5

ডায়ালগ এপিএল , 10 বাইট

⍕≡⍕∪(⍕*∘3)

⍕≡ আর্গুমেন্ট এর পাঠ্য উপস্থাপনা অনুরূপ

⍕∪ যুক্তির পাঠ্য উপস্থাপনার ইউনিয়ন এবং

(⍕*∘3) কিউবেড আর্গুমেন্টের পাঠ্য উপস্থাপনা?

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

দ্রষ্টব্য: বড় সংখ্যার জন্য, সেট করুন ⎕PP←34 ⋄ ⎕FR←1287(34 টি গুরুত্বপূর্ণ সংখ্যা, 128 বিট ভাসমান)


1
আপনি ধরে নিচ্ছেন যে n ^ 3 এর অনন্য অঙ্কগুলি এন এর চেয়ে কম হতে পারে না?
ngn

আপনি কি পাল্টা উদাহরণের অস্তিত্ব প্রমাণ করতে পারবেন?
Adám

1
106239, শীর্ষে মন্তব্যগুলি দেখুন
ngn


5

জাভা 7, 185 178 টি অক্ষর

import java.util.*;
boolean a(int n){return new HashSet(Arrays.asList((n+"").split(""))).equals(new HashSet(Arrays.asList((new java.math.BigInteger(n+"").pow(3)+"").split(""))));}

যেমন কল করুন:

public static void main(String [] args) {
    System.out.println(0 + " -> " + a(0));
    System.out.println(1 + " -> " + a(1));
    System.out.println(10 + " -> " + a(10));
    System.out.println(107624 + " -> " + a(107624));
    System.out.println(2103869 + " -> " + a(2103869));
    System.out.println(251894 + " -> " + a(251894));
    System.out.println(251895 + " -> " + a(251895));
    System.out.println(102343 + " -> " + a(102343));
    System.out.println(106239 + " -> " + a(106239));
}

আউটপুট:

0 -> true
1 -> true
10 -> true
107624 -> true
2103869 -> true
251894 -> true
251895 -> false
102343 -> false
106239 -> false

(আমি কখনই নিশ্চিত হতে পারি না যে আমাকে আমদানি এবং পদ্ধতির সংজ্ঞাও গণনা করতে হবে ... আমি যে কোনও উপায় দেখেছি The কোডটি নিজেই কেবল 141 বাইট দীর্ঘ হবে))


আমদানি / usings আসলে বাইট গণনা অংশ। আপনি static যদিও সরাতে পারেন ।
কেভিন ক্রুইজসেন

ঠিক আছে, ধন্যবাদ. সরানো হয়েছে static
কিউব্রেট

4

জেলি , 8 বাইট

*3ṢQ⁼ṢQ$

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

ব্যাখ্যা:

       $    # As a monadic (single argument) link:
    ⁼       # Return true if the following are equal
     ṢQ     # The unique sorted elements of 'n'
  ṢQ        # and The unique sorted elements
*3          # of 'n^3'

এটি 100 ইনপুট নিয়ে কাজ করে না ।
ডেনিস

আমি বুঝতে পারি কেন এটি হয় না, তবে কেন এই কাজ হয় না ?
ডিজেএমসিএমহেম

1
কারণ জেলি অপারেটরের অগ্রাধিকার ছাড়াই বাম থেকে ডানে কঠোরভাবে পার্স করা হয়েছে। *3ṢQ⁼ṢQ$উদ্দিষ্ট হিসাবে কাজ করে, যেহেতু $দুটি পরমাণুকে তার বাম দিকের একতাত্ত্বিক শৃঙ্খলে ভাগ করে দেয়।
ডেনিস

4

পাইথ, 10 বাইট

পাইথ উত্তরগুলির সাথে আমাদের পর্যাপ্ত বৈচিত্র্য নেই বলে, আসুন আমরা একটি না, আরও দুটি যুক্ত করি! উভয়ই 10 বাইট, এবং 106239নমুনা ইনপুট হিসাবে পরীক্ষা করা হয়েছে (যা অন্য কয়েকটি উত্তর ব্যর্থ হয়েছে)।

!s.++Q,`**

ব্যাখ্যা:

!s.++Q,`**QQQQ   Implicit input filling
        **QQQ    Q ^ 3
       `         repr(Q^3)
      ,      Q   [repr(Q^3),Q]
    +Q           [Q,repr(Q^3),Q]
  .+             Deltas ([Digits in Q but not in Q^3, digits in Q^3 but not in Q])
!s               Are both empty?

একটি অনলাইন টেস্ট স্যুট ব্যবহার করে প্রথম উত্তরটি ব্যবহার করে দেখুন।

দ্বিতীয় উত্তর:

qFmS{`d,**

ব্যাখ্যা:

qFmS{`d,**QQQQ   Implicit input filling
        **QQQ    Q ^ 3
       ,     Q   [Q^3, Q]
  m              map over each element d of [Q^3, Q]:
     `d           the element's string representation
    {             with duplicates removed
   S              and sorted
qF               Fold over equality (are the two the same?)

একটি অনলাইন টেস্ট স্যুট ব্যবহার করে দ্বিতীয় উত্তরটি ব্যবহার করে দেখুন।


4

কোটলিন: 46/88/96 বাইট

প্রশ্নটি ইনপুটটি কোথা থেকে আসে তা নির্দিষ্ট করে না, তাই এখানে স্বাভাবিক 3 ইনপুট উত্স।


ফাংশন: 46 বাইট

fun f(i:Long)="$i".toSet()=="${i*i*i}".toSet()

প্রধান () প্রথম প্রোগ্রাম যুক্তি ব্যবহার করে: 88 বাইট

fun main(a:Array<String>){val i=a[0].toLong();println("$i".toSet()=="${i*i*i}".toSet())}


প্রধান () স্ট্যান্ডার্ড ইনপুট ব্যবহার করে: 96 বাইট

fun main(a:Array<String>){val i=readLine()!!.toLong();println("$i".toSet()=="${i*i*i}".toSet())}


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

4

হাস্কেল, 54 52 বাইট

দুটি লাইক বাঁচানোর জন্য @ লাইকনি ধন্যবাদ Thanks

(%)=all.flip elem
k n|[a,b]<-show<$>[n,n^3]=b%a&&a%b

1
ঘোষণা a%b=all(ELEM a)bএকটি ফাংশন হিসাবে এবং তারপর কলিং সঙ্গে b%a&&a%bদুই বাইট সংরক্ষণ করা উচিত।
লাইকনি

4

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

g=n=>n<1?0:g(n/10)|1<<n%10
n=>g(n)==g(n*n*n)

@ কার্লনেপফের দুর্দান্ত সি উত্তর বন্দর। ES7 এর মাধ্যমে একটি বাইট সংরক্ষণ করে n**3। জাভাস্ক্রিপ্টের সীমিত সংখ্যক নির্ভুলতার কারণে কেবলমাত্র 208063 পর্যন্ত কাজ করে; আপনার যদি কেবল 1290 পর্যন্ত কাজ করার প্রয়োজন হয় তবে আপনি অন্য বাইট সংরক্ষণ করতে পারেন।


4

পার্ল 6 , 22 বাইট

{!(.comb$_³.comb)}

সম্প্রসারিত:

{ # bare block lambda with implicit parameter 「$_」
  !(
    .comb # get a list of the graphemes ( digits )

     # Symmetric Set difference

    $_³.comb # cube and get a list of the graphemes
  )
}

প্রতিসম সেট পার্থক্য 「⊖」 অপারেটর একটি খালি ফেরৎ সেট যদি উভয় পক্ষের সমতুল্য সেট (স্বয়ংক্রিয়ভাবে একটি সেটের দিকে একটি তালিকা দেখা যাচ্ছে) হয়। এই মুহূর্তে কেবলমাত্র কাজটি কেবল যুক্তিযুক্তভাবে উল্টানো।


আপনি প্রতিস্থাপন করতে পারেন $_শুধু সঙ্গে.
জো রাজা

4

সি ++, 82 বাইট

t(int a){int b=a*a*a,c,d;while(a|b)c|=1<<a%10,a/=10,d|=1<<b%10,b/=10;return c==d;}

টি (ক) ফাংশনটি উত্তর প্রদান করে। সেট হিসাবে একটি int ব্যবহার করে। সুন্দরভাবে মুদ্রিত:

t(int a)
{
    int b = a*a*a, c, d;
    while(a|b) c|=1 << a%10, a/=10, d|=1 << b%10, b/=10;
    return c==d;
}

আপনাকে অন্তর্ভুক্ত করতে হবে #include<set>এবং using namespace std;গল্ফড কোড এবং বাইট গণনাতে
বিড়াল

@ ক্যাট এর #include<set>পরিবর্তেalgorithm
কার্ল ন্যাপফ

@ কার্লনাপফ ওহ, আমি ভেবেছিলাম সমস্ত স্ট্ডলিব পাত্রে অ্যালগরিদমের মাধ্যমে অ্যাক্সেসযোগ্য ছিল - এটি সি ++ :) সম্পর্কে আমি কী জানি তা দেখায়
বিড়াল

আমার কাছে এটি "গ" ফাংশনটির স্থানীয় পরিবর্তনটি আরম্ভ করা হয়নি তবে ব্যবহৃত হয়েছে c | = 1 ...
রোজলুপুর

4

আর, 65 79 70 বাইট

স্টিডিন nথেকে বিভাজন nএবং n^3একক অঙ্কে নেয় এবং দুটি সেট তুলনা করে। gmpবৃহত্তর পূর্ণসংখ্যার হ্যান্ডেল করতে প্যাকেজটি ব্যবহার করে (সেই অভাবটি দেখানোর জন্য বিলিউবকে ধন্যবাদ)। এখন substringকাটতে ব্যবহার করে nএবং n^3পরামর্শের জন্য @ মিকিটিকে ধন্যবাদ। (পূর্ববর্তী সংস্করণ ব্যবহৃত হয়েছে scanএবং gsubএকটি হ্যাকি উপায়ে।)

s=substring
setequal(s(n<-gmp::as.bigz(scan()),p<-1:1e2,p),s(n^3,p,p))

দুঃখজনকভাবে এই nঅভ্যাসটি (বৃহত্তর জন্য ) কাজ করে না যদি না আপনি একরকম বিগিয়ান্ট প্যাকেজ ব্যবহার করেন। দেখুন ?.Machineসবচেয়ে বড় পূর্ণসংখ্যা বিস্তারিত এবং ভাসা ইত্যাদি এই যেমন তুলনা দেখার জন্য 2600001^3আর করা wolframalpha
Billywob

আমার নিজের এটি কখনও ব্যবহার করা হয়নি তবে gmpপ্যাকেজটি এই সমস্যার সমাধান করতে পারে বলে মনে হচ্ছে ।
বিলিওব

আহ, ভাল ধরা! আমি উত্তরটি আপডেট করেছি, এটি এখন gmp::as.bigz()বৃহত্তর পূর্ণসংখ্যাগুলি পরিচালনা করতে ব্যবহার করে।
rturnbull

আপনি সংখ্যাকে বিভক্ত করার জন্য s=substring;setequal(s(n<-gmp::as.bigz(scan()),p<-1:1e4,p),s(n^3,p,p))
স্ট্রিং স্ট্রিংকে

@ মিকিটি চমত্কার পরামর্শ! আমি জানতাম না substringযে সেভাবে ব্যবহার করা যেতে পারে (আমি কেবল কখনও ব্যবহার করেছি substr)। আপনার পরামর্শটি এখনই অন্তর্ভুক্ত করতে উত্তর সম্পাদনা করা হয়েছে।
rturnbull

4

সি ++ 14, 93 বাইট

int b(auto i){int k=0;while(i)k|=1<<i%10,i/=10;return k;}int f(auto n){return b(n)-b(n*n*n);}

আমার সি উত্তর পোর্ট , বড় সংখ্যার জন্য কাজ করে ( Lপ্রত্যয় সহ কল ​​করুন )।


3

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

import Data.Set
s=fromList.show
f n=s n==s(n^3)

ব্যবহারের উদাহরণ: f 102343-> False

Data.Setমডিউল থেকে সেট ব্যবহার করে । সহায়ক ফাংশনটি sএকটি সংখ্যাকে তার স্ট্রিং উপস্থাপনায় পরিণত করে এবং তার চেয়ে বেশি অক্ষর তৈরি করে।


আপনি এখানে ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারবেন না s$n^3?

@ ais523: না, কারণ এটি অনুবাদ করে (s n==s) (n^3)যা কোন ধরণের ত্রুটি দেয়।
নিমি

3

ব্র্যাচল্যাগ , 11 বাইট

doI,?:3^doI

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

আমার মূল উত্তরটি নিয়ে কোনও সমস্যা দেখানোর জন্য @ ডিসট্রেক্টিভেবল ওয়াটারমেলনকে ধন্যবাদ।

ব্যাখ্যা

(?)doI,           I is the Input sorted with no duplicates
       ?:3^       Compute Input^3
           doI    Input^3 sorted with no duplicates is I

আমি এতে বিড়ালের স্মাইলি পছন্দ করি: 3
কিউব্রুট

3

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

filter f($n){-join("$n"[0..99]|sort|select -u)}
(f($x=$args[0]))-eq(f("[bigint]$x*$x*$x"|iex))

(স্পষ্টতার জন্য নিউলাইন, বাইকোয়ান্টে অন্তর্ভুক্ত নয়)

প্রথম লাইনটি fএকটি হিসাবে ব্যাখ্যা করে filter(আমাদের উদ্দেশ্যে নির্দিষ্ট উদ্দেশ্যে না যাওয়ার জন্য এখানে একই ধরণের ইশ যথেষ্ট) যা ইনপুট নেয়$n এবং নিম্নলিখিতগুলি করে:

filter f($n){-join("$n"[0..99]|sort|select -u)}
       f($n)                                    # Input
                   "$n"                         # Cast as string
                       [0..99]                  # Index as char-array
                              |sort             # Sorted alphabetically
                                   |select -u   # Only select the -Unique elements
             -join(                          )  # Join those back together into a string
                                                 # Implicit return

দ্বিতীয় লাইনটি ইনপুট নেয় $args, এতে সম্পাদন fকরে এবং এটি -eqইউল কিনা তা পরীক্ষা করেf সঞ্চালিত করে $x। স্পষ্ট [bigint]কাস্ট নোট করুন , অন্যথায় আমরা ফলাফলটি বৈজ্ঞানিক স্বরলিপিতে ফিরে পাব, যা সম্ভবত কাজ করবে না।

বুলিয়ান ফলাফলটি পাইপলাইনে রেখে গেছে, এবং আউটপুট অন্তর্ভুক্ত।

PS C:\Tools\Scripts\golfing> 0,1,10,107624,251894,251895,102343,106239,2103869|%{"$_ --> "+(.\do-n-n3-same-digits.ps1 $_)}
0 --> True
1 --> True
10 --> True
107624 --> True
251894 --> True
251895 --> False
102343 --> False
106239 --> False
2103869 --> True

@ কননরএলএসডাব্লুকে একটি বাইট ধন্যবাদ সংরক্ষণ করা হয়েছে


আপনি একটি বাইট সংরক্ষণ করার "$n"[0..99]পরিবর্তে ব্যবহার করতে পারেন [char[]]"$n", যেহেতু আপনার সাথে সর্বাধিক সংখ্যক ডায়াল করতে হবে তার দৈর্ঘ্য প্রায় 20 অক্ষর।
colsw

পুনঃটুইট আমি এটা মনে রাখা দরকার।
অ্যাডমবর্কবর্ক

যতক্ষণ না আপনি 100 টিরও কম অক্ষর ব্যবহারের গ্যারান্টিযুক্ত char[]হ'ল এটি সাধারণ রূপান্তরকরণের চেয়ে যথেষ্ট সাশ্রয়ী , আপনার কোডের বাকী কোডটি আমি যতটা পেতে পারি ঠিক ততই ভাল, যদি অ্যারেগুলির সাথে তুলনা করার শর্টহ্যান্ড পদ্ধতি থাকে তবে আপনি পারতেন ("$n"[0..99]|group).Nameবোঝা বাঁচানোর মতো কিছু ব্যবহার করুন তবে compareগল্ফের কাছে ঠিক দ্রুত এবং সহজ নয়।
colsw

আমি উত্তরগুলি না দেখে সমাধান করার জন্য এটি পেয়েছি ... অনেক একই উত্তর ;-)। তবে আপনি কয়েকটি খুব সুস্পষ্ট অপটিমাইজেশন মিস করেছেন ;-)
জোয়

3

গ্রোভী, 35 51 চর / বাইট

গ্রোভিকে অন্তর্ভুক্ত না দেখে আমি দুঃখ পেয়েছিলাম, সুতরাং আমার আসল 51-বাইট প্রচেষ্টা এখানে রয়েছে:

def x(def n){"$n".toSet()=="${n.power(3)}".toSet()}

35-বাইট বেনামে বন্ধ হিসাবে **পুনরায় লিখেছেন এবং ক্ষয়ক্ষতির জন্য, ম্যানটওয়ার্কের জন্য ধন্যবাদ:

{"$it".toSet()=="${it**3}".toSet()}

মূল ফাংশনের জন্য কয়েকটি পরীক্ষার কেস:

println x(0)
println x(1)
println x(10)
println x(107624)
println x(251894)
println x(251895)
println x(102343)

একটি নামকরণ বন্ধ cএইভাবে বলা যেতে পারে:println c.call(107624)। বেনামে 35-বাইট ক্লোজারটি এভাবে বলা যেতে পারে:println ({"$it".toSet()=="${it**3}".toSet()}(107624))

আউটপুট:

true
true
true
true
true
false
false

দয়া করে নোট করুন: আমি শিখেছি যে কোড গল্ফের মতো কিছু এখনই বিদ্যমান, তাই আশা করি আমি এই অধিকারটি পেয়েছি!


হ্যালো রেডো, এবং পিপিসিজিতে আপনাকে স্বাগতম! এটি একটি দুর্দান্ত প্রথম উত্তর, +1!
NoOneIs এখানে

আমি এটি বন্ধ করে ব্যবহার করে এটি আরও 47 টি চর / বাইটে def c={"$it".toSet()=="${it.power(3)}".toSet()}
চেপে ধরতে

1
বেনামে ফাংশন গ্রহণযোগ্য। এবং **ক্ষয়ক্ষতির জন্য অপারেটরটি ব্যবহার করুন ।
manatwork

ধন্যবাদ @ ননওআইএসহেইরে! এছাড়াও, পরীক্ষার বিষয় জন্য অবসান কলিং প্রতিস্থাপন জড়িত করা হবে x(107624)সঙ্গেc.call(107624)
Rado

ধন্যবাদ @ মান্যাটওয়ার্ক! বেনামে বন্ধ করে ব্যবহার **করে এটি সুন্দর 35 অক্ষর / বাইটে নামিয়ে আনে:{"$it".toSet()=="${it**3}".toSet()}
রাডো

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.