প্রায় সমতুল্য হেরোনিয়ান ত্রিভুজ


14

একটি প্রায় সমবাহু Heronian ট্রায়াঙ্গেল একটি ত্রিভুজ ফর্মের পূর্ণসংখ্যা লেন্থ সাথে আছেন n-1, nআর n+1এবং পূর্ণসংখ্যা এলাকা আছে। প্রথম কয়েকটি হ'ল:

 3,  4,  5 ->    6
13, 14, 15 ->   84
51, 52, 53 -> 1170

অনুসন্ধান : সংক্ষিপ্ততম প্রোগ্রামটি তৈরি করুন যা এই nজাতীয় ট্রিপলকে আউটপুট করে । (ইঙ্গিত: এটি একটি পরিচিত অনুক্রম)।

বিজয়ী 2 মে, 2014 এ নির্বাচিত হবে।


এর মূল্য কী, এটি বহুলভাবে অধ্যয়নিত পেল সমীকরণগুলির মধ্যে একটির সমান।
পিটার টেলর

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

2
@ স্টিভেভারিল, যদিও আমি নিচু পদক্ষেপে নামি নি তবে আমি অর্থহীন বিধিনিষেধের কারণে উর্ধ্বতন না বেছে বেছে নিই। আমি সন্দেহ করি যে কাছের ভোটগুলিও এই বিধিনিষেধের কারণে: আমি বাজি ধরেছি যে বিশ্বের প্রায় 10% লোক কাইলের মতো একই কীবোর্ড বিন্যাসটি ব্যবহার করে।
পিটার টেলর

2
বাম-হাতের লোকেরা আমাকে ঘৃণা করলেও আমি @ কাইলক্যানোস-এর এই নিষেধাজ্ঞাকে পছন্দ করেছি
15

2
@ সর্বনিম্ন জায়গাগুলির মধ্যে, এই জাতীয় হস্তক্ষেপের মন্তব্যগুলি আমি প্রত্যাশা করব এমন একটি সম্ভবত: পি
ডিজিটাল ট্রমা

উত্তর:


6

এপিএল, 15 14 পাঠক ters

0 1 2+⌊⎕*⍨2+√3

আলেফালফের সমাধান হিসাবে একই পন্থা তবে সংশোধন শর্তের পরিবর্তে মেঝে ব্যবহার করে।

যাতায়াত অপারেটর একটি চর সংরক্ষণ করে তা নির্দেশ করার জন্য অ্যালগরিদমশর্ককে ধন্যবাদ ।


1
(⍳3)একটি চর ওভার সাশ্রয় করে 0 1 2এবং আমি নিশ্চিত যে আপনি এটিকে তৈরি করতে ⎕*⍨2+√3এবং অন্য একটি সংরক্ষণ করতে যাতায়াত ব্যবহার করতে পারেন ।
অ্যালগরিদমশর্ক 18

@ অ্যালগোরিদমশর্ক আপনাকে এই ধারণার জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে ⍳3ফলন হয় 1 2 3এবং এইভাবে এটি দীর্ঘস্থায়ী।
হাওয়ার্ড


5

গল্ফস্ক্রিপ্ট ( 24 21 টি অক্ষর)

2 4@~{.4*@-}*;.(\.)]p

স্টিডিনে ইনপুট নেয়, ফর্মের স্টাডআউটকে আউটপুট দেয়

[3 4 5]

অনলাইন ডেমো

নোট করুন যে আমি ধরে নিয়েছি যে সিকোয়েন্সের [1 2 3]0 তম উপাদানটি (আয়তন 0 সহ), যা আমি মনে করি OEIS A003500 এর সাথে সামঞ্জস্যপূর্ণ ।

3-চার্চের সাশ্রয়ের জন্য হাওয়ার্ডকে ধন্যবাদ জানাই।


ব্যবহার (.).)]দুটি চর সংক্ষিপ্ত। তাছাড়া, যদি আপনি দিয়ে শুরু 2 4আপনি প্রতিস্থাপন করতে পারেন \;সঙ্গে ;এবং অতিরিক্ত এক সেভ করুন।
হাওয়ার্ড

@ হাওয়ার্ড, আমি প্রাথমিকভাবে 0 তম উপাদান হিসাবে দেখেছি 2 4এবং চিকিত্সা [3 4 5]করেছি, তাই অফসেটটি শোষণের বিকল্প বিকল্পটি খুঁজে না পেয়ে আমি বিব্রতবোধ করছি। ধন্যবাদ।
পিটার টেলর

2

জিএনইউ ডিসি , 30 19 বাইট

9k3v2+?^0k1/p1+p1+p

এটি একই কৌশল ব্যবহার করে @ হাওয়ার্ডের এপিএল উত্তরের তাই কেবলমাত্র একটি পদ গণনা করতে হবে। স্টিডিন থেকে এন এর জন্য ইনপুট নেয়।

আউটপুট:

$ dc -e '9k3v2+?^0k1/p1+p1+p' <<< 1
3
4
5
$ dc -e '9k3v2+?^0k1/p1+p1+p' <<< 2
13
14
15
$ dc -e '9k3v2+?^0k1/p1+p1+p' <<< 3
51
52
53
$ 

1

পাইথন 77

পাইথনে বেশ ভার্জোজ বাস্তবায়ন

[(a-1,a,a+1)for a in(int((2+3**.5)**t+(2-3**.5)**t+.1)for t in range(N))][-1]

1
আমাদের কি Nকোনও মান দিয়ে প্রতিস্থাপন করা উচিত ? আপনার প্রোগ্রামটি কোনও ইনপুট চাইবে না।
golfer9338

1

পাইথন 3, 83 টি অক্ষর

f=lambda t:4*f(t-1)-f(t-2)if t>2 else(4,14)[t-1];n=f(int(input()));print(n-1,n,n+1)

( উইকিপিডিয়া থেকে উদ্ধৃতি ) এই সত্যের সুযোগ নিয়ে এটি পুনরাবৃত্ত সমাধান সমাধান করে :

N এর পরবর্তী মানগুলি পূর্বের মানটিকে 4 দিয়ে গুণ করে, তার পরে মানটি বিয়োগ করে (52 = 4 × 14 - 4, 194 = 4 × 52 - 14, ইত্যাদি) পাওয়া যাবে can


1

জাভাস্ক্রিপ্ট (ECMAScript 6) - 52 টি অক্ষর

f=x=>x?--x?4*f(x)-f(x-1):4:2
g=x=>[a=f(x)-1,a+1,a+2]

একটি পুনরাবৃত্ত ফাংশন সংজ্ঞায়িত করে fযা n তম শব্দটি প্রদান করে এবং এমন একটি ফাংশন gযা সম্পর্কিত ট্রিপলযুক্ত অ্যারে প্রদান করে।

জাভাস্ক্রিপ্ট - 41 অক্ষর

for(a=2,b=4;--x;)b=-a+4*(a=b);[a-1,a,a+1]

এই শব্দটি বিশ্বব্যাপী ভেরিয়েবলে সংরক্ষণের জন্য গণনা করা হবে xএবং কনসোলটিতে ট্রিপল আউটপুট করবে Exp


1

সিজেম, 13 বাইট

3,3mq))ri#if+p

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

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

ব্যাখ্যা

3mq            e# Push √3.
   ))          e# Increment twice.
     ri        e# Read input and convert to integer.
       #       e# Raise 2+√3 to that power.
        i      e# Convert to integer, truncating the result.
         3,    e# Push [0 1 2]
           f+  e# Add the previous number to each of these.
             p e# Pretty-print the result.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.