আমি কি দ্বিতীয় মাধ্যমিক ট্যাক্সিক্যাব?


13

পটভূমি

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

এটি "ট্যাক্সিক্যাব নম্বর" নামে পরিচিত শ্রেণীর পূর্ণসংখ্যার মধ্যে সর্বাধিক বিখ্যাত হিসাবে পরিচিত যা দুটি (বা কখনও কখনও 'কে') বিভিন্ন উপায়ে দুটি নবম শক্তি (ধনাত্মক পূর্ণসংখ্যার) এর যোগফল হিসাবে প্রকাশযোগ্য।

১29২৯ হল 2 টি কিউবের সমষ্টি হিসাবে 2 টি বিভিন্ন উপায়ে ক্ষুদ্রতম প্রাকৃতিক সংখ্যা যা এটি প্রথম "3,2" ট্যাক্সিক্যাব নম্বর ("এন, কে" সাধারণ হচ্ছে) তৈরি করে।

চ্যালেঞ্জ

একটি নম্বর দেওয়া হয়েছে, এটি সিদ্ধান্ত নেবে যে এটি একটি "৩,২" 'মাধ্যমিক ট্যাক্সিক্যাব নম্বর' - যার অর্থ এটি 1729 (2 টি কিউবের স্বতন্ত্র পরিমাণ) এর মতো একই প্রতিবন্ধকতাটি পূরণ করে, তবে "3 এর মধ্যে সবচেয়ে ছোট সংখ্যার পূর্ণসংখ্যা হতে হবে না , 2 "শ্রেণি (অবশ্যই এটি 1729 হচ্ছে)

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

1729 = 10 ^ 3 + 9 ^ 3 = 12 ^ 3 + 1 ^ 3

4104 = 15 ^ 3 + 9 ^ 3 = 16 ^ 3 + 2 ^ 3

13832 = 2 ^ 3 + 24 ^ 3 = 18 ^ 3 + 20 ^ 3

পাশাপাশি 20683, 32832, 39312 ...

স্কোরিং

এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তর জিততে পারে।

রুক্ষ শক্তি দ্বারা অন্যান্য কেস সন্ধান করতে রুক্ষ মতলব কোড:

for k = 1729:20000
    C = sum(round(mod(real((k-[1:ceil(k^(1/3))].^3).^(1/3)),1)*10000)/10000==1);
    if C > 1
        D = (mod(C,2)==0)*C/2 + (mod(C,2)==1)*((C+1)/2);
        disp([num2str(k),' has ',num2str(D),' solns'])
    end
end

পিপিসিজিতে আপনাকে স্বাগতম! আপনার প্রশ্নটি কিছুটা আরও পরিষ্কার করার জন্য আমি কিছুটা সম্পাদনা করেছি। আপনি কিছু পরীক্ষার কেস যুক্ত করতে ইচ্ছুক হবে?
musicman523

হ্যাঁ, আমি লড়াই করছি কারণ আমি কর্মে আছি এবং মতলব নেই, তবে অনলাইনে অনলাইনে কাজ করতে পেরেছি এবং 4104 = 16 ^ 3 + 4 ^ 3 = 15 ^ 3 + 9 ^ 3
ড্রকোয়ারিয়াস


1
সংখ্যাটি লেখার জন্য ঠিক দুটি উপায় থাকা দরকার, না কমপক্ষে দুটি?
জন ডিভোরাক

2
কারও কারও কাছে উত্তর লিখতে হবে ট্যাক্সি bigzaphod.github.io/Taxi
স্যাগিংআরফাস

উত্তর:


4

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

কোড (খুব ধীর)

L3mãOQO3›


কোড (অনেক দ্রুত), 12 বাইট

tL3mDδ+˜QO3›

05AB1E এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

t                # Square root (not necessary but added for speed)
 L               # Create a list [1 .. sqrt(input)]
  3m             # Raise to the power of 3
    D            # Duplicate
     δ+          # 2 dimensional addition
       ˜         # Deep-flatten the entire list
        Q        # Check which are equal to the input
         O       # Sum up to get the number of equalities
          3›     # Checks whether there are 4 or more equalities. In order for a number
                   to be a secondary taxicab number, there are at least two distinct
                   ways to get to that number and 4 ways when you also take reversed
                   arguments in account.

2
অবশ্যই আপনি স্কোয়ার রুটটি সরিয়ে একটি বাইট সংরক্ষণ করতে পারেন। এটি কোড-গল্ফ, দ্রুততম কোড নয়।
ছড়িয়ে ছিটিয়ে

@ খ্রিস্টিয়ান আমি কোডটির একটি ধীর সংস্করণ যুক্ত করেছি।
আদনান

6

জেলি , 9 বাইট

এরিক আউটগলফারকে ক্রেডিট।

Œċ*3S€ċ>1

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

এটি খুব ধীর যে এটি অনলাইনেও কাজ করবে না 1729

অনেক দ্রুত, 12 বাইট

ক্রেডিট ডেনিসকে।

R*3fRŒċS€ċ>1

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


আমি এইটিকে "4104" দিয়ে পরীক্ষা করেছি এবং এটি উত্তীর্ণ হয়েছে। :) এর বাইরে এখনও কিছু খুঁজে পাওয়া যায় নি, তবে এটি ছিল বজ্রপাত!
DrQuarius

Ðf⁸হয়ে যেতে পারে fR। দ্বিতীয়টি সরানো যেতে পারে।
ডেনিস

দ্বিতীয় indeed প্রকৃতপক্ষে সরানো যেতে পারে, তবে এফআর সোয়াপ ব্যর্থতার দিকে নিয়ে যায়।
DrQuarius

যাইহোক, এটি কোড-গল্ফ তাই আমরা গতির বিষয়ে চিন্তা করি না;) তবে আপনি টিআইও লিঙ্কটিতে দ্রুত সংস্করণটি অন্তর্ভুক্ত করতে পারেন।
ব্যবহারকারী 41805

1
আপনার গতি সম্পর্কে যত্ন নেওয়ার দরকার নেই, কেবল করুন Œċ*3S€ċ>1
এরিক আউটগল্ফার

5

গণিত, 35 বাইট

Count[#^3+#2^3&~Array~{#,#},#,2]>2&

খাঁটি ফাংশন একটি ইতিবাচক পূর্ণসংখ্যার গ্রহণ করে এবং ফিরে আসা Trueবা False

#^3+#2^3&~Array~{#,#}1 এবং ইনপুটটির মধ্যে দুটি পূর্ণসংখ্যার কিউবের সমস্ত পরিমাণকে ট্যাবুলেট করে। (এটি ইনপুটটির কিউব রুটের মতো পূর্ণসংখ্যার উপর বেঁধে রাখা বুদ্ধিমানের সাথে আরও দ্রুত হবে; তবে এটি মূল্যবান বাইট লাগবে As যেমনটি কোডটি ইনপুটটিতে প্রায় 30 সেকেন্ড সময় নেয় 13832এবং কমপক্ষে চতুর্ভুজ আকারে স্কেল করে takes ইনপুটতে।) নীচে Count[...,#,2]বাসা-পর্যায়ের 2 এ এই তালিকাতে ইনপুট প্রদর্শিত হয় তা কতবার গণনা করে; যদি এই সংখ্যাটি এর চেয়ে বেশি হয় 2, তবে ইনপুটটি একটি আধা-ট্যাক্সিক্যাব সংখ্যা (2 এর চেয়ে বেশি, 1 এর চেয়ে বেশি, যেহেতু ^ 3 + b and 3 এবং b ^ 3 + a ^ 3 পৃথকভাবে গণনা করা হচ্ছে)।


3

গণিত, 38 37 বাইট

Tr[1^PowersRepresentations[#,2,3]]>1&

-১ ব্রেট @ গ্রেগমার্টিনকে ধন্যবাদ

বরাবরের মতো, সবকিছুর মধ্যে একটি গাণিতিক অন্তর্নির্মিত।


1
ধরে নিলাম যে-ওপেন -2-এর চেয়ে বেশি উপস্থাপনের সাথে ঠিক আছে, তবে আমি বিশ্বাস করি যে Tr[1^...]এটির জায়গায় কাজ করে Length@
গ্রেগ মার্টিন

2

জাভাস্ক্রিপ্ট (ES7), 63 বাইট

একটি অপেক্ষাকৃত দ্রুত পুনরাবৃত্তি ফাংশন যা শেষ পর্যন্ত একটি বুলিয়ান দেয়।

f=(n,k,r=0,x=n-k**3)=>x<0?r>3:f(n,-~k,r+=(x**(1/3)+.5|0)**3==x)

ডেমো


2

গণিত, 48 বাইট

Length@Solve[x^3+y^3-#==0<x<y,{x,y},Integers]>1&

ইনপুট

[4104]

আউটপুট

সত্য


নোটটি #!=1729&&এখন আর প্রয়োজন নেই যে অনুমিতিটি স্পষ্ট করা হয়েছে।
গ্রেগ মার্টিন

আপনি Solveবরং ব্যবহার করতে পারেন Reduce?
ইয়ান মিলার

অবশ্যই ... 1 বাইট 1 বাইট!
J42161217

আরও একটি বাইট সংরক্ষণ করতে পারে Length@Solve[x^3+y^3-#==0<x<y,{x,y},Integers]>1&যা এর &&সাথে প্রতিস্থাপন করে -এবং কিছুটা পুনরায় সাজানো যায় ging
ইয়ান মিলার


1

এমএটিএল ( 16 15 বাইট) ( 13 12 আদর্শ)

.4^:3^2XN!sG=sq

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

ব্যাখ্যা:

'লিকি নুন'-এর জেলি সমাধানের ভিত্তিতে সবেমাত্র এমএটিএলে রূপান্তরিত হয়েছে, সম্ভবত কিছু অংশে এটি অপ্রয়োজনীয় এবং উন্নত করা যেতে পারে:

.4^  % rough cube root of input, as maximum potential integer N.
:3^   % create array of all cubes from 1^3 up to N^3.
2XN   % do nchoosek on cube array, creating all possible pairs (k=2) to add.
!s    % transpose array and add all pairs to find sums.
G=    % find all pairs that equal the original input.
sq   % if there is more than one solution, then pass the test.

দ্রষ্টব্য: মিথ্যা আউটপুটগুলিতে 0 এবং -1 অন্তর্ভুক্ত রয়েছে, তবে সত্যবাদী আউটপুট 1 1.

আদর্শভাবে ( 13 12 বাইট):

:3^2XN!sG=sq

... যথেষ্ট, তবে বৃহত্তর সংখ্যার জন্য এটি টিওআরুন পৃষ্ঠায় ক্র্যাশ।


আসল: এমএটিএল (১৯ বাইট) =============== এক্সএইচ .৩4 ^: ৩ ^ 2 এক্সএন! এসএইচ = এস 1>
ড্রকোয়ারিয়াস

1
যদি কোনও সত্যবাদী আউটপুট বৈধ হয় তবে আপনি এটি 1>দ্বারা প্রতিস্থাপন করতে পারেন q। এছাড়াও, আপনার Hপরিবর্তে Gব্যাখ্যাটি রয়েছে। প্রোগ্রামটি বিপুল সংখ্যক ক্র্যাশ হয়ে গেছে এটি স্কোর করার জন্য সাধারণত অপ্রাসঙ্গিক। যদি এটি যথেষ্ট সময় এবং মেমরির পক্ষে কার্যকর হয় তবে তা গ্রহণযোগ্য, যদি না চ্যালেঞ্জ অন্যথায় নির্দিষ্ট করে
লুইস মেন্ডো

1
ধন্যবাদ লুইস! আমি "সত্যবাদী" আউটপুটগুলিতে নতুন, তবে এটি এখন দুর্দান্তভাবে কাজ করে। সংশোধন সম্পাদিত। এছাড়াও, এমন একটি মজাদার এবং এওসোলং ব্যবহার করা সহজ করার জন্য ধন্যবাদ!
DrQuarius

0

রুবি , 52 বাইট

->n{r=*1..n;r.product(r).count{|i,j|i**3+j**3==n}>1}

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

যেহেতু এই সংস্করণে একটি বৃহদায়তন এন সৃষ্টি 2 আকারের অ্যারে, এটা সব সত্য testcases বেশী ব্যর্থ হলে 1729, এখানে সম্পর্কে n এর একটি ছোট অ্যারের আকার আছে একটি পরিবর্তিত সংস্করণ 2/3 , যা সফলভাবে অন্তত আপ 31392 চেক।

এটি অনলাইন চেষ্টা করুন! (সংশোধিত)


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