হার্ডি – রামানুজন সংখ্যা সাধারণীকরণ


12

1729, হার্ডি – রামানুজন সংখ্যা হিসাবে পরিচিত , এটি হ'ল ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যা যা দুটি উপায়ে (2 12^3+1^3=10^3+9^3=1729) দুই ধনাত্মক পূর্ণসংখ্যার পূর্ণসংখ্যা হিসাবে প্রকাশ করা যেতে পারে ) একটি পূর্ণসংখ্যা দেওয়া n(আপনার পছন্দের ভাষার প্রাকৃতিক যে কোনও আকারের ইনপুট হিসাবে) nদুটি স্বতন্ত্র পন্থায় দুটি ধনাত্মক পূর্ণসংখ্যার যোগ হিসাবে প্রকাশ করা যেতে পারে এমন ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যার সন্ধান করুন find বাহ্যিক উত্স ব্যবহার না। খুব কম চরিত্রের জয়।

মনে রাখবেন, এই আসলে একটি অসমাধিত সমস্যা জন্য n>4। এই সংখ্যাগুলির জন্য, আপনার প্রোগ্রামটিকে চিরতরে সন্ধানে চলতে দিন, বা চেষ্টা করে মারা যান! এটি তৈরি করুন যাতে অসীম সময় এবং সংস্থান দেওয়া হলে প্রোগ্রামটি সমস্যার সমাধান করবে।


2
আপনি (?) " তম শক্তিতে উত্থাপিত দুটি ধনাত্মক পূর্ণসংখ্যার যোগফল" নির্দিষ্ট করতে চাইতে পারেন n। তা না হলে, 91(না 1729) জন্য সমাধান n=3, যেহেতু 6^3+(−5)^3=4^3+3^3=91। আমি আপনার উইকিপিডিয়া লিঙ্ক থেকে এটি শিখেছি তাই আপনার এইচএম রেফারেন্স কনভেনশন দ্বারা এটি অপ্রয়োজনীয় করে তোলে makes চিয়ার্স!
ড্যারেন স্টোন

আসলে, 1প্রথম সমাধান:1 = cbrt(0.5)^3 + cbrt(0.5)^3 = ...
জন ডিভোরাক

পরামর্শ এবং সম্পাদনার জন্য ধন্যবাদ - আমার অর্থ 2 ধনাত্মক পূর্ণসংখ্যার!
বেন রিখ

1
@ জনডভোরাক, হা, হ্যাঁ এটি রাখা আর ইল!
ড্যারেন স্টোন

আপনি বলতে " এটি ..., যেন যে পূর্ণসংখ্যা ক্ষুদ্রতম পজিটিভ" হয় এক - কিন্তু কোন এন > 4, যেমন সংখ্যার অস্তিত্ব একটি অসমাধিত সমস্যা । হতে পারে আপনার বলা উচিত "ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যাটি খুঁজে নিন ( যদি সেখানে একটি থাকে ) যা" ... এটি সম্ভবত সম্ভব যে "উত্তরগুলি" নির্বিঘ্নযুক্ত লুপ যা কিছুই খুঁজে পায় না।
মাঝামাঝি

উত্তর:


3

এপিএল  45  41

{⍺←1⋄2≤+/,⍺=(v∘.≤v)×∘.+⍨⍵*⍨v←⍳⌊⍺*.5:⍺⋄⍵∇⍨⍺+1}

41 অক্ষরের সংক্ষিপ্ততর কিন্তু ধীর সংস্করণ:

{⍺←1⋄2≤+/,⍺=(v∘.≤v)×∘.+⍨⍵*⍨v←⍳⍺:⍺⋄⍵∇⍨⍺+1}

আপনি এটি অনলাইনে চেষ্টা করতে পারেন , কেবল ফাংশনটি পেস্ট করুন এবং একটি সংখ্যার সাথে এটি চাওয়া:

      {⍺←1⋄2≤+/,⍺=(v∘.≤v)×∘.+⍨⍵*⍨v←⍳⌊⍺*.5:⍺⋄⍵∇⍨⍺+1} 2
50
      {⍺←1⋄2≤+/,⍺=(v∘.≤v)×∘.+⍨⍵*⍨v←⍳⌊⍺*.5:⍺⋄⍵∇⍨⍺+1} 3
1729

(যদিও অ্যালগরিদমটি বেশ বোবা, অনলাইন দোভাষীটি n = 4 গণনা করার আশা করবেন না)

N = 2 এর উত্তর হ'ল 50 = 5² + 5² = 7² + 1² কারণ এটি এমন একটি সংখ্যা যা "দুই ধরণের ধনাত্মক পূর্ণসংখ্যার দুটি স্কোয়ারের সমষ্টি হিসাবে প্রকাশ করা যেতে পারে different ভিন্ন বলে না" "two

আপনি স্বতন্ত্র ধারা শুধু পরিবর্তন যুক্ত করতে চান তাহলে (v∘.≤v)মধ্যে (v∘.<v), অক্ষর একই নম্বর, এবং এন = 2 65 হয়ে:

      {⍺←1⋄2≤+/,⍺=(v∘.<v)×∘.+⍨⍵*⍨v←⍳⌊⍺*.5:⍺⋄⍵∇⍨⍺+1} 2
65

আমি গল্ফস্ক্রিপ্ট মারছি? হতে পারে না !!


চমৎকার! এবং আমি স্বতন্ত্র পূর্ণসংখ্যার অর্থ বোঝাতে চাইছি, তবে আমি নির্দিষ্ট করেছিলাম না, ইয়াতে এত বেশি শক্তি! পিছনে GolfScript ... এর জন্য অঙ্কন বোর্ড
বেন রেইচ

2

রুবি, 132

n=$*[r=0].to_i;while r+=1
r.times{|a|r.times{|b|next if
a**n+b**n!=r;r.times{|c|r.times{|d|puts(r)if
c**n+d**n==r&&a!=c&&a!=d}}}}end

nকমান্ড লাইন আর্গুমেন্ট হিসাবে পাস । প্রথম লাইন stdoutসমাধান হয়।

কার্য-সম্পাদনা নয়, কোড-গল্ফের জন্য অনুকূলিত। (সঠিকভাবে চলমান। তবে ধীর। প্রয়োজনের চেয়ে বেশি কাজ করে))


এখানে একটি দীর্ঘ, সামান্য দ্রুত সি প্রোগ্রাম। একই সঠিক তবে ভয়াবহ অ্যালগরিদম। (সত্যই আমার আরও তত্ত্ব অধ্যয়ন করা প্রয়োজন!)

n= 2, n= 3 এর জন্য পরীক্ষিত ।

সি, 234

#include<stdio.h>#include<math.h>
r,a,b,c,d;main(n){scanf("%d",&n);while(++r){for(a=0;a<r;++a){for(b=a;b<r;++b){if(pow(a,n)+pow(b,n)!=r)continue;for(c=a+1;c<r;++c){for(d=0;d<r;++d){if(pow(c,n)+pow(d,n)==r&&a!=d)printf("%d\n",r);}}}}}}

সি সংস্করণ গ্রহণ nকরে stdin। উপরে হিসাবে, প্রথম লাইন থেকে stdoutসমাধান হয়।


1

গল্ফস্ক্রিপ্ট 53

1\.{;\).,{}@.@\{?}+%.`{\{+}+%~}+%$.`{\{=}+,,4=}+,.!}do)

স্ট্যাকের প্রাথমিক সংখ্যা হ'ল ইনপুট। শেষে স্ট্যাকের শীর্ষে থাকা উত্তরটি। আমি যখন সুযোগ পাব তখন এটিকে আরও বিস্তারিতভাবে ব্যাখ্যা করব।

যেমন

{1\.{;\).,@.@\{?}+%.`{\{+}+%~}+%$.`{\{=}+,,4=}+,.!}do)}:f
2 f -> 25 
3 f -> 1729

এটি এখন বেশ ধীর। এটিও গণনা করা হয় 0(যেহেতু 25 এর উত্তর n=2, যেহেতু 25=5^2+0^2=3^2+4^2। 0 গণনা না করার জন্য, (;প্রথমে 2 টি অক্ষর যুক্ত করুন,

1\.{;\).,(;{}@.@\{?}+%.`{\{+}+%~}+%$.`{\{=}+,,4=}+,.!}do)

যে সন্ধান করতে 2 f=65, যেহেতু65=8^2+1^2=5^2+6^2


1

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

:N{).,{)N?}%:P{1$\-P?)},,3<}do

দ্রষ্টব্য: এটি বেশ ধীরে ধীরে, কারণ এটি অগ্রাধিকারের সারির মতো মার্জিত কিছু না করে ব্রুট-ফোর্স অনুসন্ধান করে। এটি সম্পর্কে সর্বাধিক মার্জিত জিনিসটি Nনিম্ন সীমা হিসাবে পুনরায় ব্যবহার করা হচ্ছে যা থেকে অনুসন্ধান করতে হবে: এটি বৈধ কারণ 1^N + 2^N > Nসকলের জন্য N

Nস্ট্যাকটি নেয় , স্ট্যাকের সাথে সম্পর্কিত ট্যাক্সিক্যাব নম্বর ছেড়ে যায়। Nস্টিডিন থেকে নিতে , প্রিপেন্ড করুন ~

উপরের সংস্করণটি অনুমতি দেয় x^N + x^N(যাতে N=2এটি দেয় 50)। স্বতন্ত্র সংখ্যা (দান যোগ প্রয়োজন 65পরিবর্তে) পরিবর্তন 3করতে 40^N + x^N(দেওয়ার 25) অনুমতি দেওয়ার জন্য )অবিলম্বে তাড়াতাড়ি সরান N?


0

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

উত্পাদক ফাংশন ব্যবহার করে একটি খুব খুব ধীর সমাধান:

0//.i_/;(D[Sum[x^(n^#),{n,1,i}]^2,{x,i}]/.x->0)/i!<4:>i+1&
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.