চেইন রুল করুন


15

বৈষম্য এবং সংহতকরণের জন্য আমাদের প্রচুর চ্যালেঞ্জ ছিল, তবে কেবলমাত্র সম্পর্কিত হারের সমস্যা সমাধানের ক্ষেত্রে আমরা কিছুই পাইনি। সুতরাং এই চ্যালেঞ্জে আপনি ডেরিভেটিভসের একটি গুচ্ছ পাবেন (এগুলি সংখ্যাসূচক হবে, কোনও ভেরিয়েবলের ক্ষেত্রে নয়) এবং অন্য একটি ডেরাইভেটিভ সন্ধান করতে হবে।

ইনপুটটি আকারে নতুন লাইনের দ্বারা পৃথক করা সমীকরণের তালিকায় আসবে dx/dt = 4। দশমিক এবং নেতিবাচক থাকতে পারে।

ইনপুটটি একটি ডিফারেনশিয়ালের সাথে শেষ হবে, এটি আপনাকে খুঁজে বের করতে হবে। আপনি ধরে নিতে পারেন যে এটির জন্য সর্বদা যথেষ্ট তথ্য থাকবে, বাট অতিরিক্ত তথ্যও থাকতে পারে।

আপনাকে বিপরীতমুখী ফাংশনের ডেরাইভেটিভটিও বিবেচনা করতে হতে পারে, যেমন আপনার যদি থাকে তবে dy/dx = 3আপনি এটিও জানেন dx/dy = 1/3

আপনার আউটপুট ফর্ম হবে dy/dt = 6। সমস্ত সাদা স্থান ইত্যাদি একই হতে হবে। ধরুন সমস্ত ভেরিয়েবল সর্বদা একটি অক্ষর (তারা বড় হতে পারে, এবং তারা হতে পারে d)।

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোড !

পরীক্ষার কেস

dy/dx = 4
dx/dt = 5
dy/dt

answer: dy/dt = 20

dy/dx = -3
dt/dx = 3
dy/dt

answer: dy/dt = -1

dA/dt = 4
dA/dC = 2
dC/dr = 6.28
dr/dt

answer: dr/dt = 0.3184713375796178

dx/dy = 7
dx/dt = 0
dy/dt

answer: dy/dt = 0

আউটপুটটি কি "উত্তর: dx / dt = .318" বা কেবল "dx / dt = .318"?
গামারকম্পস

@ গ্যামারকর্পস পরবর্তীকালে।
মালটিসেন

2
আমরা কি অন্তর্নির্মিত সমীকরণ solvers ব্যবহার করতে পারি?
মার্টিন ইন্ডার

3
আমার অনুভূতির উত্তরগুলি d_/d_একটি অনুপাত হিসাবে বিবেচনা করবে এবং এটি আমাকে দু: খিত করে
আর্কটরাস

@ মার্টিনব্যাটনার হ্যাঁ, তবে ভিন্ন ভিন্ন সমীকরণ সমাধানকারী নয়।
মালটিসেন

উত্তর:


2

পাইথন - 278 275

অন্য কেউ এখনও এটি করেন নি, তাই আমি ভেবেছিলাম আমি এটি জমা দেব, যদিও এটি এখনও খুব ভালভাবে গল্ফ হয় নি।

a={}
e={}
k=input
i=k()
while"="in i:
 b,d=i.split(" =");b,c=b.split("/");d=float(d)
 if d:a[b]=a.get(b,[])+[[c,1/d]]
 a[c]=a.get(c,[])+[[b,d]];i=k()
i=i.split("/")
def f(x):
 for j in a.get(x,[]):
  if j[0] not in e:e[j[0]]=e[x]*j[1];f(j[0])
e[i[1]]=1
f(i[1])
print(e[i[0]])

এখানে এটি আংশিকভাবে নিয়ন্ত্রিত:

a={}
e={}
i=input()
while "=" in i:
 b,d=i.split(" =")
 b,c=b.split("/")
 d=float(d)
 if d:a[b]=a.get(b,[])+[[c,1/d]]
 a[c]=a.get(c,[])+[[b,d]]
 i=input()
i=i.split("/")
def f(x):
 for j in a.get(x,[]):
  if j[0] not in e:e[j[0]]=e[x]*j[1];f(j[0])
e[i[1]]=1
f(i[1])
print(e[i[0]])

থমাস কোওয়া তিনটি বাইট সংরক্ষণ করেছিলেন।

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