ডায়মন্ড ধাঁধা!


21

ব্যাখ্যা:

গত বছর গণিত ক্লাসে, হোম ওয়ার্কে আমরা মাঝেমধ্যে এগুলি অত্যন্ত সহজ পাই, যদিও হীরক ধাঁধা বলে সমান বিরক্তিকর প্রশ্ন। এগুলি মূলত এমন প্রশ্ন ছিল যেখানে আমাদের একটি যোগফল দেওয়া হবে এবং তারপরে একটি পণ্যকে দুটি সংখ্যা খুঁজে বের করতে বলা হয়েছিল যা কখন গুণিত হয় এবং কখন যোগফল যোগ করে দেয়। এগুলি আমাকে পাগল করে তুলেছিল, যেহেতু আমি তাদের কীভাবে সমাধান করতে হয় তার একমাত্র উপায় ছিল (বীজগণিত I তে) কেবলমাত্র পণ্যটির কারণগুলি তালিকাভুক্ত করা ছিল তা হলে যোগফলগুলি যোগ করতে কোনটি যুক্ত হয়েছিল। (যেহেতু আমি তখন চতুষ্কোত্তরগুলি কীভাবে ব্যবহার করতে জানতাম না) উল্লেখ করার মতো নয়, তারা ঠিক চ্যালেঞ্জিং গণিত ছিল না। যাইহোক, এটি আমার কাছে কেবলমাত্র একটি প্রোগ্রাম লেখা উচিত ছিল program তাই আজ আপনার চ্যালেঞ্জ! হিরের ধাঁধা সমাধান করতে পারে এমন একটি প্রোগ্রাম লিখুন।

এখানে চিত্র বর্ণনা লিখুন অস্পষ্ট চিত্রটির জন্য ক্ষমা চাওয়ার উদাহরণ , আমি এটির চেয়ে সেরা। এছাড়াও বুদবুদগুলির সংখ্যাগুলিকে উপেক্ষা করুন the হীরার শীর্ষটি হ'ল পণ্য, নীচের অংশটি যোগফল, ডান এবং বাম দুটি সংখ্যা। উত্তরগুলি নিম্নরূপ: (এগুলিও আপনার পরীক্ষার কেস)

  1. 9, -7
  2. -২, -১
  3. 5, 8
  4. -9, -9

নিয়মাবলী:

  • আপনি কোনও প্রাক-সংজ্ঞায়িত ফাংশন বা ক্লাস ব্যবহার করতে পারবেন না যা আপনার জন্য এটি সম্পাদন করে।
  • আপনার কোড অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন হতে পারে যা উত্তরগুলি সন্ধানের পরে তা ফেরত দেয় বা মুদ্রণ করে
  • ইনপুটটি যোগফল এবং পণ্য, যা একটি ফাংশন প্যারামিটার বা ব্যবহারকারী ইনপুট হিসাবে ইনপুট করা হয়

বিশেষ উল্লেখ:

  • ধরে নিন যে দুটি সংখ্যা, যোগফল এবং পণ্য সর্বদা পূর্ণসংখ্যার হবে।
  • দুটি উত্তর উভয়ই -127 থেকে 127 এর মধ্যে থাকবে।
  • আপনার ইনপুট দুটি পূর্ণসংখ্যা (যোগফল এবং পণ্য) হবে।

মনে রাখবেন এটি কোড-গল্ফ, তাই সংক্ষিপ্ততম বাইট গণনা জয়। দয়া করে আপনার উত্তরটিকে ## ভাষার নাম, বাইট গণনা দিয়ে শিরোনাম দিন

সম্পাদনা করুন: এছাড়াও, ডুরকনব উল্লেখ করেছেন যে এটি মূলত "ফর্ম x ^ 2 + বিএক্স + সি, এর চতুর্ভুজ"। এই চ্যালেঞ্জটি সম্পর্কে চিন্তাভাবনা করার এবং তার কাছে যাওয়ার আরও একটি উপায়। : ডি


9
এটি মূলত "ফর্মের একটি চতুর্ভুজ ফ্যাক্টর x^2 + bx + c," সঠিক?
ডুরকনব

1
বি = - (এক্স + ওয়াই), সি = (এক্স * ই)
TheNumberOne

সরলকরণ (x + n)(x + m)আপনাকে দেয় x^2 + (n+m)x + (n*m), সুতরাং ফ্যাক্টরিং বলেছিলেন যে চতুর্ভুজটি মূলত এই প্রশ্নের সমতুল্য (যদি আমি এটি সঠিকভাবে বুঝতে পারি)।
ডুরকনব

@ ডুরকনব 冰 হ্যাঁ আপনি ঠিক আছেন। আমি অনুমান করছি যে আমি নকল হিসাবে চিহ্নিত হতে চলেছি। :(
আশ্বিন গুপ্ত

ঠিক আছে, আমি মনে করি না যাই হোক আমাদের কাছে এখনও "ফ্যাক্টর x ^ 2 + বিএক্স + সি" প্রশ্ন আছে। সমস্যাগুলি খুব সাদৃশ্যপূর্ণ তা কেবল উল্লেখ করে।
ডুরকনব

উত্তর:


18

জেলি , 15 11 10 বাইট

Hð+,_ðH²_½

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

নিম্নলিখিত বাইনারি কোডটি জেলি ইন্টারপ্রেটারের এই সংস্করণটির সাথে কাজ করে ।

0000000: 48 98 2b 2c 5f 98 48 8a 5f 90  H.+,_.H._.

ধারণা

এটি সেই সত্যের ভিত্তিতে তৈরি

সূত্র

কোড

Hð+,_ðH²_½    Left input: s -- Right input: p

 ð   ð        This is a link fork. We define three links, call the left and right
              link with the input as arguments, then the middle link with the
              results as arguments.

H             Left link, dyadic. Arguments: s p

H             Halve the left input.

     ðH²_½    Right link, dyadic. Arguments: s p

      H       Halve the left input.
       ²      Square the result.
        _     Hook; subtract the right input from the result.
         ½    Apply square root to the difference.

 ð+,_         Middle link, dyadic. Arguments: (results of the previous links)

  +           Compute the sum of the results.
    _         Compute the difference of the results.
   ,          Pair.

1
এটি একটি খুব সুন্দর অনলাইন সংকলক। আমি চাই জাভা এর জন্য তাদের মতো একটা থাকুক।
আশ্বিন গুপ্ত

2
@ অশ্বিনগুপ্ত ডেনিস নিজেই এটি তৈরি করেছিলেন, আসলে;) জাভা-র জন্য সর্বদা আইডিয়ন থাকে
ডুরকনব

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

কেউ যদি 14 টি মারতে না পারে তবে আমি মনে করি আপনি জিতেছেন।
আশ্বিন গুপ্ত

3
ঠিক আছে, জেলি এখন সরকারীভাবে উন্মাদ সংক্ষিপ্ত। আমি
পাইথের

14

ইউনিকর্ন , 4650 2982 1874 1546

[ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 ( 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 ( ) ) 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 2 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 ( 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 ✨✨✨✨✨✨✨ 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 4 🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤 🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄🦄 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 ( ) ) 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈 🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤🌤 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ ]

এখন ছাগল, রংধনু এবং স্পার্কলসের সাথে!

আশা করা যায় জাভা থেকে ছোট।


একটি কাস্টম এনকোডিং ব্যবহার করে যা প্রয়োগ করা যেতে পারেApplyEncoding

ব্যাখ্যা

কিভাবে কাজ করে??? ইউনিকর্নের যাদু (এবং একটি সামান্য কোড) সহ।

ইউনিকর্ন জাভাস্ক্রিপ্টে সংকলিত হয়েছে

প্রতিটি বিভাগ একটি স্থান দ্বারা পৃথক করা হয়, এবং প্রতিটি বিভাগ জাভাস্ক্রিপ্ট কোডে একটি অক্ষর উপস্থাপন করে।

বিভাগে যদি ইউনিকর্ন থাকে তবে বিভাগটির চরিত্রটি বিভাগের দৈর্ঘ্য, একটি চর কোডে রূপান্তরিত (উদাহরণস্বরূপ 32 ইউনিকর্ন একটি স্থান হবে)

বিভাগে ছাগল থাকলে বিভাগটির দৈর্ঘ্য দ্বিগুণ হয়ে যায় এবং তারপরে একটি চর কোডে রূপান্তরিত হয়।


যদি প্রোগ্রামটির বিশেষ অক্ষরগুলি না দেখানো হয় তবে এখানে একটি চিত্র রয়েছে:

এখানে চিত্র বর্ণনা লিখুন


এটি প্রতিযোগিতামূলক নয় কারণ এই চ্যালেঞ্জ পোস্ট হওয়ার পরে ইউনিকর্ন তৈরি হয়েছিল।


1
এখানে কি পৃথিবীতে যাচ্ছে? আমি শুধু বাক্স দেখতে। ; -;
লিন

@ মরিস ওউ :( আমি প্রোগ্রামটির একটি ছবি পোস্ট করব যাতে প্রত্যেকে এটির গৌরব দেখতে পাবে
ডাউনওয়েট

3
LOL ঠিক আছে এটি আমার খুব প্রিয় যদিও আমি এটি গ্রহণ করতে পারি না কারণ এটি এত দীর্ঘ arn
আশ্বিন গুপ্ত 20

4
"আশা করি জাভা থেকে ছোট।" আপনি কেবল
এটির

1
@ দো, আপনাকে হতাশ করার জন্য দুঃখিত। জাভা তার থেকে প্রায় 18 গুণ কম।
তমোঘনা চৌধুরী

8

জাভাস্ক্রিপ্ট ES6, 45 39 37 * বাইট

(q,p)=>[x=p/2+Math.sqrt(p*p/4-q),p-x]

* ডেনিসকে ধন্যবাদ!


2
আমি আপনাকে +1 করছি কারণ এটি প্রথম উত্তর যা আমি আসলে বুঝতে পারি (সাজানো)। এলএল
আশ্বিন গুপ্ত

4

টিস্ক্রিপ্ট, 22 বাইট 30 31

[d=y/2+$s(y*y/4-x),y-d

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

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


"ইউনিকর্ন শর্টকাট" আমি এর শব্দ পছন্দ করি! ;)
ETH প্রোডাকশনগুলি

@ এথ প্রডাকশনস হাহা, এটি স্বতঃসংশ্লিষ্ট ছিল: p যদিও ইউনিকর্ন শর্টকাট আকর্ষণীয় হতে পারে ...
ডাউনগোট

3

এমএটিএল , 33 বাইট

-100:100t!2$t+i=bb*i=&2#2$1fv101-

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

উদাহরণ

সংকলকটির বর্তমান গিটহাব কমিটের সাহায্যে নিম্নলিখিতটি অ্যাকটাভে চালিত হয়েছিল ।

>> matl -r '-100:100t!2$t+i=bb*i=&2#2$1fv101-'
> 2
> -63
 9
-7

ব্যাখ্যা

-100:100           % row vector -100, -99, ..., 100
t!                 % duplicate and transpose into column vector
2$t                % duplicate the two vectors
+                  % sum with singleton expansion (all combinations)
i=                 % does it equal input? Produces logical matrix
bb                 % move the two vectors to top
*                  % multiply with singleton expansion (all combinations)
i=                 % does it equal input? Produces logical matrix
&                  % logical "and"
2#2$1f             % find row and column of the first "true" value in logical matrix
v101-              % concatenate vertically and subtract 101

কৌতূহলের বাইরে, "ব্যাখ্যা" ফর্মের প্রোগ্রামটি কি আসলে একটি এমএটিএল সংকলকটিতে চলবে? বাক্য গঠনটি ভয়াবহভাবে বিভক্ত।
আশ্বিন গুপ্ত

হ্যাঁ, আপনি প্রোগ্রামটিকে আলাদা লাইনে পেস্ট করতে পারেন, উদাহরণস্বরূপ ব্যাখ্যা থেকে তালিকাটি অনুলিপি করুন। আপনি matl"এন্টার" টাইপ করে টিপুন; তারপরে প্রোগ্রামটি পেস্ট করুন এবং একটি ফাঁকা লাইন দিয়ে শেষ করুন। আপনার সিনট্যাক্সটি কীভাবে বিভক্ত হয়ে গেছে? এমএটিএল বিপরীত পলিশ (পোস্টফিক্স) স্বরলিপি ব্যবহার করে, সম্ভবত এটি আপনাকে বিভ্রান্ত করছে?
লুইস মেন্ডো

3

জুলিয়া, 46 44 32 বাইট

f(b,c)=(x=b+√(b^2-4c))/2,b-x/2

একটি ফাংশন f যা যোগফল এবং তারপরে পণ্যটি গ্রহণ করে।

আমার প্রথম জুলিয়া উত্তর। @ অ্যালেক্সা।, আপনার আমার জন্য গর্ব করা উচিত।

সমস্ত সহায়তার জন্য @ ডেনিস এবং @ অ্যালেক্স এ। কে ধন্যবাদ। আমি ৪৪. পেরিয়ে যেতে পেরেছি: পি


40 বাইট:f(b,c)=b/2+√(b^2/4-c),b/2-√(b^2/4-c)
অ্যালেক্স এ।

@AlexA। - আপনি এটির উন্নতির পরামর্শ দিয়ে একটি মেমস ঘটতে চলেছেন ...
ড্যারাল হফম্যান

34 বাইট:f(b,c)=b/2+√(x=b^2/4-c),b/2-√x
অ্যালেক্স এ।

32 বাইট:f(b,c)=(x=b+√(b^2-4c))/2,b-x/2
ডেনিস

2
এটি ঠিক নিয়মিত চতুষ্কোণ সূত্রের মতো যা আমাদের মাথায় পিটিয়েছে যেহেতু আমরা কেবল ছাগলছানা।
অ্যালেক্স এ।

3

ডিসি, 16

?ddd*?4*-v+2/p-p

STDIN এর পৃথক লাইনগুলি থেকে যোগফল পড়ে। - প্রতিটি নম্বর বিয়োগ চিহ্নের পরিবর্তে আন্ডারস্কোর দিয়ে প্রবেশ করতে হবে। যেমন

$ { echo 2; echo _63; } | dc -e'?ddd*?4*-v+2/p-p'
9
-7
$ 

ব্যাখ্যা:

জন্য একই মূল দ্বিঘাত সমাধান sum = a + bএবং product = a * b। এটি সমাধান aহিসাবে গণনা করে :

a = [ sum + √( sum² - 4 * product ) ] / 2

এবং সমাধান bহিসাবে গণনা করে :

b = sum - a

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

?                   # push sum to stack
 ddd                # duplicate 3 times (total 4 copies)
    *               # sum squared
     ?              # push product to stack
      4*            # multiply by 4
        -           # subtract (4 * product) from (sum squared)
         v          # take square root of (sum squared) - (4 * product)
          +         # add sum to square root of (sum squared) - (4 * product)
           2/       # divide by 2 to give solution a
             p      # print with newline and without pop
              -     # subtract solution a from sum to give solution b
               p    # print with newline and without pop

ক্ষতির নির্ভুলতা রোধ করতে 2 দিয়ে ভাগ করা দেরিতে করা হয়। এর আগে 2 দ্বারা ভাগ করা সম্ভব, তবে এর জন্য ভগ্নাংশ যথাযথ প্রয়োজন যা আরও অক্ষর প্রয়োজন।


2
কিসের অপেক্ষা? এটি এপিএল, পাইথ এবং সিজেমের চেয়ে সংক্ষিপ্ততর শেষ হয়েছে ??? সাব্বাস!
ডিজিটাল ট্রমা

3

পাইথ, 21 18 বাইট

@ ডেনিসকে 3 বাইট সংরক্ষণ করা হয়েছে

,J/+@-^Q2*4E2Q2-QJ

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

আমার দ্বিতীয় পাইথ প্রোগ্রামটি এটি, তাই এটি সম্ভবত বিল্ট-ইনগুলি সহ গল্ফ করা যেতে পারে। পরামর্শ স্বাগত!

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

,J/+@-^Q2*4E2Q2-QJ   Implicit: Q = first line of input
,                    Create and output a list of these items:
 J                     Set variable J to the result of these operations:
      ^Q2                Square Q.
     -   *4E             Subtract 4*(next line of input).
    @       2            Take the square root.
   +         Q           Add Q.
  /           2          Divide by 2.
                       The list is currently [J].
               -QJ     Push Q-J; the list is now [J, Q-J].
                     EOF; list is sent to output.

(এই ব্যাখ্যাটি 100% সঠিক নাও হতে পারে; আমি পাইথের সাথে খুব বেশি পরিচিত নই))

নোট এটি /পূর্ণসংখ্যা বিভাগ। এটির পরিবর্তে c, আমরা অ-পূর্ণসংখ্যার ইনপুটগুলির সাথেও এই কাজটি করতে পারি।


এক বাইট দ্বারা আপনাকে
মারধর

এই ব্যাখ্যাটি 100% সঠিক নাও হতে পারে ... ???
ডিজিটাল ট্রমা

@ ডিজিটালট্রামা আমি ১০০% নিশ্চিত নই যে এটি কীভাবে কাজ করে (বিশেষত জে), তবে ডকসগুলি পড়া থেকে আমি এটি সংগ্রহ করেছি।
ETH প্রোডাকশনগুলি

1
হ্যাঁ, Jএকটি স্বতঃ-নির্ধারণের পরিবর্তনশীল এবং এটি প্রথমবার ব্যবহৃত হওয়ার পরে সেট হয়ে যায়। একমাত্র অংশ যা পুরোপুরি ঠিক মনে হচ্ছে না তা হ'ল তালিকাটি বর্তমানে [জে]। ,ঠিক দুটি যুক্তি নেয় এবং এগুলিকে একটি তালিকায় একত্রিত করে।
ডেনিস

3

জাভা, 82 (69 λ) বর্গক্ষেত্র সূত্র (127 (114 λ) বাইট ব্রুট-ফোর্স সহ)

ব্রুট-ফোর্স: (ভ্যানিলা, জাভা 7)

int[] n(int s,int p){for(int a=-100;a<=100;a++)for(int b=-100;b<=100;b++) if(a+b==s&&a*b==p)return new int[]{a,b};return null;}

ced-উন্নত: (জাভা 8)

(s,p)->{for(int a=-100;a<=100;a++)for(int b=-100;b<=100;b++) if(a+b==s&&a*b==p)return new int[]{a,b};return null;}

ল্যাম্বদাতে java.util.function.BiFunction<Integer, Integer, int[]>কল করুন এবং কল করুনapply()

সরল পুরাতন ব্রুট ফোর্স পদ্ধতির। কেবলমাত্র কার্যকরী ফাংশনটি এখানে রয়েছে এবং জাভা যেহেতু একাধিক মান ফিরিয়ে দিতে পারে না, তাই আমরা একটি 2-উপাদান ফেরত পাঠাইint প্রয়োজনীয় সংখ্যাসমূহের সাথে অ্যারে দেব।

আদর্শ বিকাশের উপর ভিত্তি করে পূর্ণ বৌদ্ধিক দৃষ্টিভঙ্গি ভিত্তিক কর্মসূচিটি এখানে পাওয়া যাবে আইডোন.কম এ সংস্করণ সহ যাবে।

এতে গল্ফ করা সমস্ত অপ্রয়োজনীয় ধনুর্বন্ধনী অপসারণ জড়িত।

Ungolfed:

int[] n(int s,int p){//sum and product as function parameters,in that order
    for(int a=-100;a<=100;a++){//iterate first no. from -100 to 100
        for(int b=-100;b<=100;b++){//iterate second no. from -100 to 100
            //if the 2 nos. satisfy the diamond-puzzle condition, 
            //pack them in an int array and return them
            if(a+b==s&&a*b==p)return new int[]{a,b};}
     }//if no such pair exists, return null
return null;}

চতুষ্কোণ পদ্ধতি: (ভ্যানিলা, জাভা 7)

int[] n(int s,int p){int x=s+(int)Math.sqrt(s*s-4*p);return new int[]{x/2,s-x/2};}

enhan-উন্নত: (জাভা 8) (গুলি, পি) -> {ইনট এক্স = এস + (ইনট) ম্যাথ.এসকিআরটি (গুলি * এস -4 * পি); নতুন ইনট্রে ফিরে আসুন [] {x / 2, sx / 2} ;}

(উপরের নিষ্ঠুর শক্তি হিসাবে ব্যবহার))

প্যারামিটার এবং রিটার্নের মানদণ্ড উপরের ব্রুট-ফোর্স সমাধানের সমান।

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

সম্পূর্ণ চতুষ্কোণ পদ্ধতির উপর ভিত্তি করে প্রোগ্রামটি এখানে one সংস্করণ সহ আইডোন.কম.com


হ্যাঁ আপনাকে ধন্যবাদ আমি জাভা উত্তরের জন্য অপেক্ষা করছিলাম। এছাড়াও, আমি কারণগুলির সাথে কারও জন্য লুপস এবং ব্রুট ফোর্স ব্যবহার করার জন্য অপেক্ষা করছিলাম। আমার ধারণা আমি একটি চুক্তির জন্য দুজনকে পেয়েছি। +1
আশ্বিন গুপ্ত

1
জাভা ইউনিকর্নকে হারিয়েছে :( আমি +1 করেছিলাম তবে আমি আমার প্রতিদিনের ভোটের সীমাটি ব্যবহার করেছি
ডাউনগোট

2

জাপট , 28 22 21 20 বাইট

[X=V/2+(V²/4-U ¬V-X]

ইনপুট আকারে তৈরি হয় -63 2

ব্যাখ্যা:

  • Uএবং Vদুটি ইনপুট ( -63এবং 2প্রথম ক্ষেত্রে)
  • ² বর্গ সংখ্যা
  • q বর্গমূল বের করে

আমি এই জন্য একটি উত্তর লিখছিলাম; এটি, যতক্ষণ না আমি আপনার দেখি। চমৎকার কাজ! প্রথম অংশটি পুনরায় [X=ºV²-4*U ¬+V)/2V-X][X=((V²-4*U q +V)/2V-X]]
সাজিয়ে এবং আরও কয়েকটা

@ ঠিক আছে, a একটি দুর্দান্ত জিনিস।
নিকেল

2

এপিএল, 27 21 বাইট

h(+,-).5*⍨⊣-⍨h×h←.5×⊢

এটি একটি ডায়াডিক ফাংশন ট্রেন যা ডান এবং বামে পূর্ণসংখ্যাকে গ্রহণ করে এবং একটি অ্যারে প্রদান করে। এটি কল করতে, এটি একটি ভেরিয়েবলের জন্য বরাদ্দ করুন।

Ungolfed:

                h←.5×⊢       ⍝ Define a train h for halving the input
              h×             ⍝ b^2/4
          ⊣-⍨                ⍝ b^2/4 - c
      .5*⍨                   ⍝ sqrt(b^2/4 - c)
h(+,-)                       ⍝ Return the halved pair

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

ডেনিসের জন্য 6 টি বাইট সংরক্ষণ করা!


2

সিজেম, 18 বাইট

q~2d/_2#@-mq_2$+p-

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

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

q~                  e# Read an evaluate all input. STACK: product sum
  2d/               e# Divide the sum by 2.0.
     _              e# Push a copy of the result.
      2#            e# Square the copy.
        @-          e# Rotate the product on top and subtract it from the square.
          mq        e# Apply square root.
            _2$     e# Push copies of the root and the halved sum.
               +p   e# Add and print.
                 -  e# Subtract the originals.

2

পাইথন 3, 49 44 বাইট

এটিকে আরও আরও নীচে নামানোর সম্ভবত কিছু উপায় রয়েছে তবে এটি দেখতে বেশ সুন্দর দেখাচ্ছে।

def f(s,p):s/=2;d=(s*s-p)**.5;return s+d,s-d

পার্থক্যের চিহ্নটি ভুল; এটা হওয়া উচিত s/2-d। এছাড়াও, d=(s*s/4-p)**.5কয়েকটি বাইট সংরক্ষণ করে।
ডেনিস

@ ডেনিস উফ, আপনি ঠিক বলেছেন স্থির এবং গল্ফড
শার্লক 9

1

ম্যাথক্যাড 15. 38 বাইট

এখানে চিত্র বর্ণনা লিখুন

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


1

𝔼𝕊𝕄𝕚𝕟, 21 অক্ষর / 30 বাইট

[x=í/2+√ í²/4-î⦆,í-x]

Try it here (Firefox only).

সাধরণ। আপনার ধারণাটি পাওয়ার জন্য এটি যথেষ্ট দৃশ্যমান হওয়া উচিত; তবে, আপনি যদি অবশ্যই î = input1, í = input2,।


0

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

<?=($x=($p=$_GET[p])/2+sqrt($p*$p/4-$q=$_GET[q]))." ".($p-$x);

এটি বেশ দীর্ঘ হতে পারে তবে পূর্ণ বৈশিষ্ট্যযুক্ত পিএইচপি ওয়েব- "প্রোগ্রাম" হওয়া যায়। "পান" অনুরোধের মাধ্যমে যুক্তিগুলি গ্রহণ করে।

ডেমো


0

টিআই-বেসিক, 20 বাইট

Qথেকে Ansএবং Pথেকে নেয় Prompt। কল করুন P:prgmNAME

Prompt P
P/2+√(P²/4-Ans
{Ans,P-Ans

খুব সুন্দর. এই Promptবিবৃতিটি এত দীর্ঘ হ'ল খুব খারাপ । আমি টিআই-বেসিক জানি না, তবে আপনি যদি কোনও ফাংশনে কোডটি রাখেন এবং প্যারামিটার হিসাবে পি পাস করেন তবে এটি সংক্ষিপ্ত হতে পারে।
আশ্বিন গুপ্ত

আসলে, টিআই-বেসিককে "টোকেন" এ বিভক্ত করা হয়েছে; প্রত্যেকটি Prompt , P, /, 2, +, √(, ², 4, -, Ans, এবং {এক টোকেন হয়, এবং এই টোকেন প্রতিটি বাইট। এছাড়াও, টিআই-বেসিকের কোনও কার্যকারিতা নেই। এটি সম্ভবত সবচেয়ে সংক্ষিপ্ত পদ্ধতি।
কনর ও'ব্রায়ান

ওহ ভাল অন্তর্ভুক্তি, আমি বুঝতে পারি না। তবে প্রতিটি চরটি কোনও প্রযুক্তিগত দিক থেকে এখনও বাইট নয়? আমি যদি এটি কোনও টেক্সট ডকটিতে আটকানো হয় তবে আমি 36 বাইট পাই। অথবা এটি বিশেষ ইউনিকোড অক্ষর ব্যবহার করে?
আশ্বিন গুপ্ত

টিআই-বেসিক একটি ক্যালকুলেটর ভাষা, সুতরাং এটি যা দেখে। এটি ক্যালকুলেটরে কীড করা হয়, কোনও পাঠ্য নথির মতো নয়। এখানে এক-বাইট টোকেন রয়েছে।
কনর ও'ব্রায়ান

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