আপেক্ষিক গতি গণনা করুন


10

ইন বিশেষ আপেক্ষিকতা , অন্য বস্তুর যে বিপরীত দিক চলন্ত হয় একটি চলমান বস্তুর আপেক্ষিক বেগ সূত্র দ্বারা দেওয়া হয়:

s=v+u1+vu/c2.

s = ( v + u ) / ( 1 + v * u / c ^ 2)

এই সূত্রে, এবং হ'ল বস্তুর বেগের তাত্পর্য এবং এর আলোর গতি (যা প্রায় , জন্য যথেষ্ট পরিমাণে কাছাকাছি চ্যালেঞ্জ)।vuc3.0×108m/s

উদাহরণস্বরূপ, যদি একটি বস্তু চলতে থাকে v = 50,000 m/sএবং অন্য একটি বস্তু চলছিল, অন্য u = 60,000 m/sবস্তুর তুলনায় প্রতিটি বস্তুর বেগ প্রায় হবে s = 110,000 m/s। গ্যালিলিয়ান আপেক্ষিকতার অধীনে আপনি এটি প্রত্যাশা করবেন (যেখানে বেগগুলি কেবল যুক্ত করে)। তবে, যদি v = 50,000,000 m/sএবং u = 60,000,000 m/s, আপেক্ষিক গতিবেগ প্রায় হবে 106,451,613 m/s, যা 110,000,000 m/sগ্যালিলিয়ান আপেক্ষিকতার দ্বারা পূর্বাভাসের তুলনায় উল্লেখযোগ্যভাবে পৃথক ।

চ্যালেঞ্জ

দুটি পূর্ণসংখ্যার vএবং uএরূপ হিসাবে দেওয়া হয়েছে 0 <= v,u < c, উপরের সূত্রটি সহ, আপেক্ষিক যোগমূলক বেগ গণনা করুন c = 300000000। আউটপুট অবশ্যই দশমিক মান বা হ্রাস ভগ্নাংশ হতে হবে। 0.001দশমিক মানের জন্য আউটপুট অবশ্যই প্রকৃত মানের মধ্যে হওয়া উচিত , বা ভগ্নাংশের জন্য সঠিক exact

পরীক্ষার কেস

বিন্যাস: v, u -> exact fraction (float approximation)

50000, 60000 -> 3300000000000/30000001 (109999.99633333346)
50000000, 60000000 -> 3300000000/31 (106451612.90322581)
20, 30 -> 7500000000000000/150000000000001 (49.999999999999666)
0, 20051 -> 20051 (20051.0)
299999999, 299999999 -> 53999999820000000000000000/179999999400000001 (300000000.0)
20000, 2000000 -> 4545000000000/2250001 (2019999.1022226212)
2000000, 2000000 -> 90000000000/22501 (3999822.2301231055)
1, 500000 -> 90000180000000000/180000000001 (500000.9999972222)
1, 50000000 -> 90000001800000000/1800000001 (50000000.972222224)
200000000, 100000000 -> 2700000000/11 (245454545.45454547)

7
s/velocity/Velocity of an Unladen Swallow/g
mbomb007

1
"গ্যালিলিয়ান আপেক্ষিকতা"? গ্যালিলিয়ান মেকানিক্স, সম্ভবত, তবে আমি আপনার বাক্যাংশটিকে একটি অক্সিমোরন (সম্ভবত একটি অ্যানক্রোনস্টিক রেট্রোনিয়ামও) বলব। ভাল পিপিসিজি প্রশ্ন, যদিও!
টবি স্পিড

উত্তর:



11

গণিত, 17 বাইট

+##/(1+##/9*^16)&

একটি নামবিহীন ফাংশন দুটি পূর্ণসংখ্যার গ্রহণ করে এবং একটি নির্ভুল ভগ্নাংশ প্রদান করে।

ব্যাখ্যা

এই দুটি চমৎকার ঠাট ব্যবহার যুক্তি ক্রম সঙ্গে## , যা আমার ব্যক্তি আর্গুমেন্ট উল্লেখ এড়াতে পারবেন uএবং vআলাদাভাবে। সমস্ত আর্গুমেন্টের ক্রম পর্যন্ত ##প্রসারিত হয় , যা একটি "মোড়কানো তালিকা" বাছাই করা। এখানে একটি সহজ উদাহরণ:

{x, ##, y}&[u, v]

দেয়

{x, u, v, y}

স্বেচ্ছাসেবী ফাংশনগুলির মধ্যে একই কাজ করে (যেহেতু {...}কেবলমাত্র শর্টহ্যান্ড List[...]):

f[x, ##, y]&[u, v]

দেয়

f[x, u, v, y]

এখন আমরা ##অপারেটরদেরও হস্তান্তর করতে পারি যা অপারেটর সম্পর্কিত হিসাবে প্রথমে তাদেরকে একক অপারেন্ড হিসাবে বিবেচনা করবে। তারপরে অপারেটরটিকে তার সম্পূর্ণ ফর্মে প্রসারিত করা হবে f[...]এবং কেবল তখনই ক্রমটি প্রসারিত হবে। এই ক্ষেত্রে +##হয় Plus[##]যা Plus[u, v], লব আমরা চাই অর্থাৎ।

অন্যদিকে ডিনোমিনেটরে, ##এর বাম-হাত অপারেটর হিসাবে উপস্থিত হয় /। কারণটি এর গুণক uএবং vবরং সূক্ষ্ম। /পদে প্রয়োগ করা হয় Times:

FullForm[a/b]
(* Times[a, Power[b, -1]] *)

সুতরাং যখন aহয় ##, এটি পরে প্রসারিত হয় এবং আমরা শেষ পর্যন্ত

Times[u, v, Power[9*^16, -1]]

এখানে *^বৈজ্ঞানিক স্বরলিপি দেওয়ার জন্য কেবল গণিতের অপারেটর।


4

জেলি, 9 বাইট

÷3ȷ8P‘÷@S

এটি অনলাইন চেষ্টা করুন! বিকল্পভাবে, আপনি যদি ভগ্নাংশ পছন্দ করেন, আপনি এম এর সাথে একই কোডটি কার্যকর করতে পারেন ।

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

÷3ȷ8P‘÷@S  Main link. Argument: [u, v]

÷3ȷ8       Divide u and v by 3e8.
    P      Take the product of the quotients, yielding uv ÷ 9e16.
     ‘     Increment, yielding 1 + uv ÷ 9e16.
        S  Sum; yield u + v.
      ÷@   Divide the result to the right by the result to the left.

3

পাইথন 3, 55 31 29 বাইট

পাইথন প্রতিটি ইনপুট প্রয়োজন হিসাবে ইনপুট পেতে ভয়াবহ int(input()) কিন্তু এখানে যাইহোক আমার সমাধান এখানে:

V, U = INT (ইনপুট ()), int- এ (ইনপুট ()); মুদ্রণ ((উ U +) / (1 + V * তোমার দর্শন লগ করা / 9e16))

@ জাকুবকে ধন্যবাদ আমার আসলে পুরো প্রোগ্রামের দরকার নেই, কেবলমাত্র ফাংশন। অত: পর:

lambda u,v:(v+u)/(1+v*u/9e16)

বরং স্ব বিবরণী, ইনপুট, গণনা পান। আমি সি ^ 2 ব্যবহার করেছি এবং সরলীকরণ করেছি যে 9e16 হিসাবে (3e8 ** 2) এর চেয়ে কম।

পাইথন 2, 42 বাইট

v,u=input(),input();print(v+u)/(1+v*u/9e16)

@ মিডিফিশকে ধন্যবাদ


1
আপনি যদি পাইথন 2 ব্যবহার করেন, আপনি এটিটি ফেলে দিয়ে int(input())প্রতিস্থাপন input()করতে পারেন, মুদ্রণ বিবৃতিটির চারপাশে বন্ধনীগুলি ফেলে দিতে পারেন
ব্লু

@ জাকুব আপনি কীভাবে ইনপুট পাবেন? ওপি "" দুটি এবং দুটি সংখ্যক দেওয়া "বলেছে
জর্জে

@ জাকুবে হ্যাঁ এটিতে আমি ল্যাম্বদাটি কীভাবে ব্যবহার করব, তবে ওপি পুরো কর্মসূচির জন্য কেবল কোনও অনুষ্ঠানের জন্যই স্পষ্টভাবে জিজ্ঞাসা করছে না। অর্থাৎ এটিতে একটি ইনপুট এবং আউটপুট রয়েছে
জর্জে

@ জাকুব ভাল সে ক্ষেত্রে আমি এটি কিছুটা গল্ফ করছি। চিয়ার্স!
জর্জে

আপনার থাকতে পারে lambda u,v:(v+u)/(1+v*u/9e16)এবং এটি পাইথন 2 এবং 3 উভয়ের জন্যই কাজ করে
mbomb007

2

জে, 13 11 বাইট

+%1+9e16%~*

ব্যবহার

>> f =: +%1+9e16%~*
>> 5e7 f 6e7
<< 1.06452e8

কোথায় >>STDIN এবং STDOUT <<হয়।


2

মতলব, 24 বাইট

@(u,v)(u+v)/(1+v*u/9e16)

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


আমি আপনাকে শিরোনাম থেকে "নিয়মিত" সরানোর পরামর্শ দিচ্ছি। যদি কোনও সরঞ্জামবাক্স ব্যবহৃত হয় তবে এটি উল্লেখ করতে হবে; যাতে আপনি নিরাপদে কেবল "মতলব" বলতে পারেন। ওহ এবং পিপিসিজিতে আপনাকে স্বাগতম!
লুইস মেন্ডো

2

সিজেম, 16 বাইট

q~_:+\:*9.e16/)/

আমি এখনও নিশ্চিত যে এখানে বাইটগুলি সংরক্ষণ করতে হবে


এই বাইটগুলির মধ্যে দুটি এখানে:q~d]_:+\:*9e16/)/
মার্টিন ইন্ডার

@ মার্টিনইন্দর ধন্যবাদ, এরকম dকাজ করার বিষয়ে জানতেন না তবে বিশ্বাস করতে পারছেন না আমি বর্ধিত অপারেটরটি মিস করেছি ....
একটি সিমন্স

অ্যারে ইনপুট সহ 1 বাইট কম:q~_:+\:*9.e16/)/
লুইস মেন্ডো

2

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

+÷1+9E16÷⍨×

যোগফলের ভগ্নাংশ এবং [নব্বই কোয়াড্রিলিয়ন এবং পণ্যটির বিভাজন বৃদ্ধি]:

┌─┼───┐         
+ ÷ ┌─┼──────┐  
    1 + ┌────┼──┐
        9E16 ÷⍨ ×

÷⍨"বিভাজক", যেমন "নব্বই কোয়াড্রিলিয়ন বিভাজক এন " অর্থাত নব্বই চতুর্ভুজ দ্বারা বিভক্ত n এর সমতুল্য ।


অবশ্যই এটি 11 টি অক্ষর, বাইট নয়, কারণ আমি নিশ্চিত যে those চিহ্নগুলির কয়েকটি ASCII তে নেই?
জুলে

ইউটিএফ -8-এ @ জুলস অবশ্যই, তবে এপিএল এর নিজস্ব কোড পৃষ্ঠা রয়েছে, যা ইউনিকোডকে কয়েক দশক আগেই পূর্বাভাস দেয়।
ডেনিস

2

হাস্কেল, 24 বাইট

একক ফাংশন হিসাবে যা প্রাসঙ্গিকভাবে ব্যবহৃত হয় তার উপর নির্ভর করে ভাসমান বিন্দু বা ভগ্নাংশ সংখ্যা সরবরাহ করতে পারে ...

r u v=(u+v)/(1+v*u/9e16)

REPL এ ব্যবহারের উদাহরণ:

*Main> r 20 30
49.999999999999666
*Main> default (Rational)
*Main> r 20 30 
7500000000000000 % 150000000000001

u#vপরিবর্তে সংজ্ঞা দিয়ে দুটি বাইট সংরক্ষণ করুন r u v
জাগারব


1

পাইথ, 14 বাইট

csQhc*FQ*9^T16

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

সূত্র: sum(input) / (1 + (product(input) / 9e16))

বোনাস: এখানে ক্লিক করুন!


5
চ্যালেঞ্জের প্রথম যেটি সমাধান এটি প্রথম সমাধানে "FGITW" অন্তর্ভুক্ত করা সত্যিই অপ্রয়োজনীয়।
মেগো

দুঃখিত, আমি এটি মুছে ফেলেছি।
ফাঁস নুন



1

নোথার , 24 বাইট

অ প্রতিদ্বন্দ্বী

I~vI~u+1vu*10 8^3*2^/+/P

এখানে চেষ্টা করুন!

এই চ্যালেঞ্জের জন্য নোথর উপযুক্ত ভাষা বলে মনে হচ্ছে যে এমি নোথর প্রতিসম ধারণার সূচনা করেছিলেন যা আইনস্টাইনের সমীকরণগুলিতে নেতৃত্ব দেয় (এটি, E = mc^2ইত্যাদি)

যাইহোক, এটি মূলত পোলিশ স্বরলিপি বিপরীতে প্রদত্ত সমীকরণের অনুবাদ।



0

পাওয়ারশেল, 34 বাইট

param($u,$v)($u+$v)/(1+$v*$u/9e16)

অত্যন্ত সোজা বাস্তবায়ন। কারও সাথে যোগাযোগের আশা নেই, তবে $প্রয়োজনীয় 6 টির জন্য ধন্যবাদ ।


0

ওরাকল এসকিউএল 11.2, 39 বাইট

SELECT (:v+:u)/(1+:v*:u/9e16)FROM DUAL;


0

ফোর্স ল্যাং, 116 বাইট

চ্যালেঞ্জ পোস্ট হওয়ার পরে নন-কেপটিং, ভাষার কার্যকারিতা যুক্ত করে।

def r io.readnum()
set s set
s u r
s v r
s w u+v
s c 3e8
s u u.mult v.mult c.pow -2
s u 1+u
io.write w.mult u.pow -1


0

ডিসি, 21 বাইট

svddlv+rlv*9/I16^/1+/

এটি ধরে নিয়েছে যে সূক্ষ্মতা ইতিমধ্যে সেট করা হয়েছে, উদাহরণস্বরূপ 20k। আপনি যদি এই অনুমান করতে না পারেন তবে 3 বাইট যুক্ত করুন।

আরও সঠিক সংস্করণ হল

svdlv+9I16^*dsc*rlv*lc+/

24 বাইটে

উভয়ই সূত্রটির যথাযথভাবে বিশ্বস্ত প্রতিলিপি, কেবলমাত্র উল্লেখযোগ্য গল্ফিং 9I16^*সি এর জন্য ব্যবহার ²





0

ফোরথ (গফার্থ) , 39 বাইট

: f 2dup + s>f * s>f 9e16 f/ 1e f+ f/ ;

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

কোড ব্যাখ্যা

: f            \ start a new work definition
  2dup +       \ get the sum of u and v
  s>f          \ move to top of floating point stack
  * s>f        \ get the product of u and v and move to top of floating point stack
  9e16 f/      \ divide product by 9e16 (c^2)
  1e f+        \ add 1
  f/           \ divide the sum of u and v by the result
;              \ end word definition
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.