স্তম্ভিত স্টার্টস


13

যে দৌড়গুলিতে রেসারের কমপক্ষে একটি বাঁকানো ট্র্যাকের এক ঘুরে ঘুরে দেখা যায়, প্রতিটি রেসারের প্রাথমিক অবস্থানগুলি স্তম্ভিত হয়ে যায়, যাতে প্রতিটি রেসার ট্র্যাকের চারপাশে একই দূরত্ব ভ্রমণ করে (অন্যথায়, অন্তঃস্থল লেনের রেসারটি একটি বিশাল সুবিধা পেতে পারে) )।

একটি উপবৃত্তাকার ট্র্যাকের প্রধান এবং গৌণ অক্ষের দৈর্ঘ্য (বা আধা-প্রধান এবং আধা-নাবালিক, যদি আপনি পছন্দ করেন) এবং ট্র্যাকের লেনগুলির সংখ্যা প্রদত্ত, প্রতিটি লেনের অভ্যন্তরীণ লেনের প্রারম্ভিক বিন্দু থেকে দূরত্বগুলি নির্ধারণ করুন স্তিমিত করা উচিত।

বিশেষ উল্লেখ

  • প্রতিটি লেনটি পরবর্তী-সংক্ষিপ্ততম লেনের চেয়ে 5 একক দীর্ঘ আধা-প্রধান অক্ষ সহ একটি উপবৃত্ত হয়। সরলতার জন্য, ধরে নিন যে লেনগুলির 0 প্রস্থ রয়েছে।
  • অভ্যন্তরীণতম লেনটি সর্বদা 0 থেকে শুরু হয় এবং অন্য প্রতিটি সূচনা পয়েন্টটি ইতিবাচক পূর্ণসংখ্যার পূর্ববর্তী পয়েন্টের চেয়ে বড় বা সমান।
  • ইনপুট এবং আউটপুট যে কোনও সুবিধাজনক এবং যুক্তিসঙ্গত ফর্ম্যাটে হতে পারে।
  • ইনপুটগুলি সর্বদা পূর্ণসংখ্যার হবে।
  • আপনাকে অবশ্যই ট্র্যাকের পরিধিটি প্রকৃত মানের 0.01 ইউনিটের মধ্যে গণনা করতে হবে।
  • আউটপুটগুলি নিকটতম পূর্ণসংখ্যার (মেঝেতে) গোল করতে হবে।
  • সমাপ্তি রেখাটি আন্তঃতম রেসারটির সূচনা পয়েন্ট। দৌড়ের মধ্যে কেবল একটি কোলে।
  • অক্ষের দৈর্ঘ্য ট্র্যাকের অভ্যন্তরীণ লেনটি ব্যবহার করে পরিমাপ করা হয়।
  • অভ্যন্তরীণ লেনের অফসেটের জন্য 0 আউটপুটিং alচ্ছিক।

পরীক্ষার কেস

বিন্যাস: a, b, n -> <list of offsets, excluding innermost lane>

20, 10, 5 -> 30, 61, 92, 124
5, 5, 2 -> 31
15, 40, 7 -> 29, 60, 91, 121, 152, 183
35, 40, 4 -> 31, 62, 94

এই পরীক্ষাগুলির ক্ষেত্রে নিম্নলিখিত পাইথন 3 লিপি তৈরি করা হয়েছিল, যা রামানুজন দ্বারা রচিত একটি উপবৃত্তের পরিধিটির প্রায় অনুমান ব্যবহার করে:

#!/usr/bin/env python3

import math

a = 35 # semi-major axis
b = 40 # semi-minor axis
n = 4  # number of lanes
w = 5  # spacing between lanes (constant)

h = lambda a,b:(a-b)**2/(a+b)**2
lane_lengths = [math.pi*(a+b+w*i*2)*(1+3*h(a+w*i,b+w*i)/(10+math.sqrt(4-3*h(a+w*i,b+w*i)))) for i in range(n)]

print("{}, {}, {} -> {}".format(a, b, n, ', '.join([str(int(x-lane_lengths[0])) for x in lane_lengths[1:]])))

প্রায় অনুমান ব্যবহৃত হয়:

উপবৃত্ত পরিধি প্রায় অনুমান

অবশেষে, অফসেটের গণনাগুলি বোঝার জন্য এখানে একটি সহায়ক চিত্রটি রয়েছে:

ট্র্যাক


আমি আপনার মতো রামানুজনের সান্নিধ্য ব্যবহার করি। আমাদের কি করণীয় তা হ'ল, বা আপনি আমাদের অনন্ত সিরিজের রূপান্তর মূল্যায়ন করতে চান?
অ্যাডাম

1
@ অ্যাডম প্রয়োজনীয় নির্ভুলতা পেতে আপনি যা করতে পারেন তা করতে পারেন। রামানুজন আনুমানিকতা অনেকগুলি মানের জন্য ভাল কারণ এর ত্রুটি ক্রম অনুসারে রয়েছে h**5, যা 0.01বিস্তৃত মানের জন্য রয়েছে।
মেগো

ইনপুট আকারের উপর আবদ্ধ না থাকলে ন্যূনতম নির্ভুলতা কতটা ভাল?
ফেভারস

উত্তর:


2

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

UVFXY-nXY+WZn/3*©T4®-t+/>Z*žq*5DX+UY+V})¬-ï

ব্যাখ্যা

UV                                           # X = a, Y = b
  F                                   }      # n times do
   XY-n                                      # (a-b)^2
       XY+W                                  # Z = (a + b)
             /                               # divide (a-b)^2
           Zn                                # by (a+b)^2
              3*                             # multiply by 3
                ©                            # C = 3h
                       /                     # 3h divided by 
                 T                           # 10
                      +                      # +
                  4®-t                       # sqrt(4-3h)
                        >                    # increment
                         Z*žq*               # times (a + b)*pi
                              5DX+UY+V       # increase a and b by 5
                                       )     # wrap in list of circumferences
                                        ¬-   # divide by inner circumference
                                          ï  # floor
                                             # implicitly display

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



1

পাইথন 3, 168 164 বাইট

@ অ্যাডম এবং @ মেগোকে প্রতিটি -২ বাইটের জন্য ধন্যবাদ

from math import*
h=lambda a,b:3*(a-b)**2/(a+b)**2;C=lambda a,b:pi*(a+b)*(1+h(a,b)/(10+sqrt(4-h(a,b))))
f=lambda a,b,n:[int(C(a+i*5,b+i*5)-C(a,b))for i in range(n)]

একটি ফাংশন fযা আর্গুমেন্টের মাধ্যমে ইনপুট নেয় এবং 0অন্তঃস্থল লেন সহ লেন অফসেটগুলির একটি তালিকা ফেরত দেয় ।

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

এটি রামানুজনের আনুমানিক ব্যবহার করে। আমরা কেবল ফাংশন সংজ্ঞায়িত করি hএবং Cপরামিতি এবং পরিধি গণনা করার জন্য, তারপরে সমস্ত লেনের জন্য বর্তমান লেন এবং মেঝের দৈর্ঘ্য থেকে আন্তঃতম লেনের দৈর্ঘ্য বিয়োগ করুন।

আইডিয়নে চেষ্টা করে দেখুন


sqrt(4-3*h(a,b))হিসাবে সংক্ষিপ্ত (4-3*h(a,b))**.5, এবং floorএটি দ্বারা প্রতিস্থাপিত হতে পারে int। এগুলি উভয়ই করার অর্থ আপনার আমদানির দরকার নেই math
মেগো

@ মেগো ধন্যবাদ আমি বোকা না হলে, প্রথম দুটি কি একই দৈর্ঘ্য নয়? তবে, যদি আমদানি বিবৃতিটি সরে যায়, তবে পাই সংজ্ঞায়নের সমস্যা আছে।
দ্য বাইকিংভিকিং

অন্তর্ভুক্ত করে 3*h, দুই বাইট সংরক্ষণ করা উচিত।
অ্যাডাম

আমি সম্পূর্ণরূপে মিস করেছি যে আপনি ব্যবহার করেন piআপনি যথেষ্ট নির্ভুলতার সাথে এটি হার্ডকোড করতে সক্ষম হতে পারেন । এবং হ্যাঁ, প্রথম দুটি একই দৈর্ঘ্য - আমি অবশ্যই আমদানি ছাড়াই বোঝাচ্ছি! : পি
মেগো

@ অ্যাডাম তা উল্লেখ করার জন্য ধন্যবাদ।
দ্য বাইকিংভিাইকিং

1

ডায়ালগ এপিএল , 45 বাইট

এন এর জন্য প্রম্পট দেয় , তারপরে একটি । প্রয়োজন ⎕IO←0অনেক সিস্টেমে পূর্বনির্ধারিত।

1↓(⊢-⊃)(○+×1+h÷10+.5*⍨4-h3×2*⍨-÷+)⌿⎕∘.+5×⍳⎕

⍳⎕এন এর জন্য প্রম্পট করুন , তারপরে {0, 1, 2, ..., n −1 দিন)

পাঁচটি গুন পেতে {0, 5, 10, ..., 5 এন -5}

⎕∘.+জন্য প্রম্পট একটি এবং , তারপর উপরন্তু টেবিল করুন:
  একটি , একটি মানের +5, একটি +10 ... একটি মানের +5 এন -5
   , মানের +5, +10 ... মানের +5 এন -5

(... )⌿প্রতিটি উল্লম্ব জোড়, অর্থাৎ
  f ( a , b ), f ( a +5, b +5), f ( a +10, b +10), ..., f ( a + 5 এন -5 মানের +5 এন -5)
  যেখানে ( এক্স , Y ) হল *

পাই সময়

( x + y ) বার

1+ এক প্লাস

h ( x , y ) [ h ক্রিয়াটি পরে সংজ্ঞায়িত করা হবে] দ্বারা বিভক্ত divided

10+ দশটি প্লাস

.5*⍨ এর বর্গমূল

4- চার বিয়োগ

h← h ( x , y ), যা

তিন বার

2*⍨ এর বর্গ

( x - y ) দ্বারা বিভক্ত

+ x + y

(⊢-⊃) প্রতিটি জোড় প্রয়োগ করা ফাংশন ফলাফলের উপর, প্রথম ফলাফলের মান বিয়োগ

1↓ প্রথমটি মুছে ফেলুন (শূন্য)

নিচে সুসম্পন্ন

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


পদ্ধতিগত ভাষায়:

-÷+x এবং y এর যোগফলের মধ্যে পার্থক্যের ভগ্নাংশটি সন্ধান করুন

2*⍨ বর্গাকার যে ভগ্নাংশ

এই বর্গক্ষেত্রকে তিন দ্বারা গুণান

h←এই পণ্য হ জ

4- চার থেকে যে পণ্য বিয়োগ

.5*⍨ এই পার্থক্যের বর্গমূল গ্রহণ করুন

10+ যে বর্গমূলের দশ যোগ করুন

যোগফল দ্বারা এইচ বিভাজন

1+ সেই ভগ্নাংশে একটি যুক্ত করুন

x এবং y এর যোগফলের সাথে সেই যোগফলকে গুণিত করুন

পাই দিয়ে পণ্যটি গুণান

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