কাটা কিউবের কোণ, প্রান্ত এবং মুখগুলি গণনা করুন


9

এই স্যান্ডবক্স পোস্ট থেকে আসছে

এটি একটি 8 ম গ্রেডারের গণিত পরীক্ষা থেকে অনুপ্রাণিত

ইন্ট্রো

নিম্নলিখিত কোণগুলির সাথে আমাদের একটি ঘনক্ষেত্র রয়েছে

A(0, 0, 0)
B(1, 0, 0)
C(1, 1, 0)
D(0, 1, 0)
E(0, 0, 1)
F(1, 0, 1)
G(1, 1, 1)
H(0, 1, 1)

এই ঘনক্ষেত্রে স্পষ্টত 8 কোণ, 12 প্রান্ত এবং 6 টি মুখ রয়েছে। যদি এখন আমরা কোণার জি কেটে ফেলেছি, যেমন আমাদের কাটা বিমানটি প্রতিটি সংলগ্ন মূল প্রান্তের ঠিক মাঝখানে যায়, আমরা 2 টি নতুন কোণ, 3 টি নতুন প্রান্ত এবং একটি নতুন মুখ যুক্ত করি। আরও ভাল স্পষ্টতার জন্য দয়া করে এই শিল্পের টানা টানা শিল্পটি উপভোগ করুন

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

ইনপুট

কোণগুলির একটি তালিকা দেওয়া (এএইচ দ্বারা চিহ্নিত এই উদাহরণে), এটি কেটে ফেলা হবে, কোণার, প্রান্ত এবং মুখগুলির নতুন সংখ্যা গণনা করুন।

আপনি যে কোনও আকারে ইনপুটটি গ্রহণ করতে পারেন, যতক্ষণ না এটি একই কোণে সাড়া দেয় (যেমন এএইচ এর পরিবর্তে আপনি 1-8 বা 0-7 ব্যবহার করতে পারেন, আপনি এটি তালিকা হিসাবে ধরে নিতে পারেন, সিএসভি, যাই হোক না কেন)

আপনি তালিকাটি আলাদা বলে ধরে নিতে পারেন (প্রতিটি কোণে একবারে প্রদর্শিত হবে) তবে এটি খালি থাকতে পারে। তালিকায় কখনই বিদ্যমান অজানা কোণ থাকবে না।

আউটপুট

কোণ, প্রান্ত এবং মুখের সংখ্যার সাথে সম্পর্কিত তিনটি আউটপুট আউটপুট। একটি তালিকা হিসাবে আউটপুট স্পষ্টভাবে অনুমোদিত। ট্রেলিং হোয়াইটস্পেসগুলি অনুমোদিত

উদাহরণ

{}        ->  8, 12,  6 (empty list)  
{A}       -> 10, 15,  7  
{A,C}     -> 12, 18,  8   
{A,C,F}   -> 14, 21,  9  
{A,B,C}   -> 12, 19,  9  
{A,B,C,D} -> 12, 20, 10  

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


2
আকর্ষণীয় ... সুতরাং সংলগ্ন কোণগুলি কেটে ফেলার অর্থ কি তারা এক কোণে ভাগ করে নিবে এবং একটি প্রান্তটি দূর করবে? এটি প্রথমটি দেখে মনে হয় তার চেয়ে জটিল
জো কিং

যেহেতু ইমগুর তুরস্কে অবরুদ্ধ হয়েছে তাই আমি ছবিটি দেখতে পাচ্ছি না। আপনি কি দয়া করে কোনও বিকল্প চিত্র লিঙ্কটি প্রেরণ করতে পারেন
উইন্ডমিল কুকিজ

@ জোকিং হ্যাঁ এটি সঠিক।
অনন্তজ্যো

@ উইন্ডমিলকুকিজ আমি দুঃখিত, আমি এটি জানতাম না। আমি এখন অন্য একটি হোস্ট ব্যবহার করেছি।
ইনফিনিটিজারো

2
উদাহরণস্বরূপ, আমি কি এ এর ​​জন্য 0, সি এর জন্য 1, বি এর জন্য 2, ডি এর জন্য 3, ই এর জন্য 4, জি এর জন্য 5, এফের জন্য 6, এইচ এর জন্য 7 ব্যবহার করতে পারি? বা আমার কি এবিসিডিএফজিএইচ অর্ডার রাখা উচিত?
tsh

উত্তর:


2

জেলি , 23 বাইট

3R×L+“©®€‘ɓŒcn/€§ċ1;`Żạ

একটি monadic লিঙ্ক। ইনপুটটি কার্টেসিয়ান কো-অর্ডিনেটস (কিউবটি সমন্বিত সিস্টেমের সাথে সংযুক্ত) হিসাবে কিউবের কোণগুলির একটি তালিকা। আউটপুট হল পূর্ণসংখ্যার একটি তালিকা [faces, corners, edges],।

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

কিভাবে?

3R×L+“©®€‘ɓŒcn/€§ċ1;`Żạ - Link: list of lists, C          e.g. [[0,1,1],[1,1,0],[1,1,1],[0,0,0]] -- this could represent "FHGA"
3R                      - range of 3                           [1,2,3]
   L                    - length of C                          4
  ×                     - multiply                             [4,8,12]
     “©®€‘              - list of code-page indices            [6,8,12]
    +                   - add                                  [10,16,24]
          ɓ             - start a new dyadic chain, f(C,X) where X is the above result
           Œc           - pairs of C                           [[[0,1,1],[1,1,0]],[[0,1,1],[1,1,1]],[[0,1,1],[0,0,0]],[[1,1,0],[1,1,1]],[[1,1,0],[0,0,0]],[[1,1,1],[0,0,0]]]
              /€        - reduce €ach with:
             n          -   (vectorising) not equal?           [[1,0,1],[1,0,0],[0,1,1],[0,0,1],[1,1,0],[1,1,1]]
                §       - sum each                             [2,1,2,1,2,3]
                 ċ1     - count ones                           2
                   ;`   - concatenate with itself              [2,2]
                     Ż  - prepend a zero                       [0,2,2]
                      ạ - absolute difference with X           [10,14,22]

যদি প্রশ্নগুলিতে কোণগুলি অবশ্যই "অর্ডার" করা উচিত তবে এটি 25 বাইটের জন্য এএইচ হিসাবে 0-7 পূর্ণসংখ্যার সাথে কাজ করে: 3R×L+“©®€‘ɓŒc^/€ḟ2<5S;`Żạ(এক্সওআর ব্যবহারকে হ্রাস করে, দু'টি ফিল্টার আউট করে, তারপরে পাঁচটির চেয়ে কম সংখ্যক গণনা করা হয়)।


1

কাঠকয়লা , 48 বাইট

≔Eθ↨℅ι²η≔⊘№⭆η⭆ηΣEι↔⁻§λξν1ηIE⟦⁶⁻⁸η⁻¹²η⟧⁺ι×⊕κLθ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। চিত্রের মধ্যে 0-7বর্ণগুলি উপস্থাপন করতে অঙ্কগুলি ব্যবহার করে Uses ABDCEFHGক্রমের মুখ, কোণ, প্রান্তের আউটপুট। ব্যাখ্যা:

≔Eθ↨℅ι²η

প্রতিটি চরিত্রের ASCII কোড নিন এবং এটি বেস 2 তে রূপান্তর করুন।

≔⊘№⭆η⭆η

বেস 2 নম্বর তালিকার কারটিশিয়ান পণ্যটি নিজের সাথে নিন।

ΣEι↔⁻§λξν1η

বেস 2 সংখ্যার জোড়গুলিকে একসাথে যোগ করুন এবং 1 বিটের সংখ্যার যোগ করুন। কতগুলি জোড়ের যোগফল 1 হবে এবং 2 দিয়ে ভাগ করুন এটি কাকতালীয় কোণগুলির সংখ্যা দেয়।

IE⟦⁶⁻⁸η⁻¹²η⟧⁺ι×⊕κLθ

মুখ, কোণ এবং প্রান্তের সংখ্যা গণনা করুন এবং মুদ্রণ করুন।



1

পার্ল 6 , 59 58 বাইট

{6+@_,|((2,3 X*4+@_)X-(@_ X~@_)∩~<<ords "% 286
>C/")}

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

নম্বরগুলি ব্যবহার করে 0করতে 7কোণে প্রতিনিধিত্ব করতে। আমার সম্ভবত এগুলি একই প্রশ্নের সাথে মিলে যাওয়া উচিত প্রশ্নে ... উফ? ক্রমে একটি তালিকা আউটপুট দেয় faces, corners, edges

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