ভূমিকা
TL; ড
ক্রমাগতভাবে পৃথিবী থেকে সূর্যের বর্তমান দূরত্বকে আউটপুট করে
সরলীকৃত, সূর্যের চারপাশে পৃথিবীর কক্ষপথ একটি উপবৃত্তাকার। সুতরাং উভয়ের মধ্যে প্রকৃত দূরত্ব ক্রমাগত পরিবর্তিত হয়। এই সূত্রটি ব্যবহার করে যে কোনও নির্দিষ্ট দিনের জন্য এই দূরত্বটি গণনা করা যেতে পারে :
সমীকরণটি নিম্নলিখিত অংশগুলিতে বিভক্ত হতে পারে 2 :
1
সমান, 1 এউ (জ্যোতির্বিদ্যা ইউনিট) উপস্থাপন করে149,597,870.691 km
0.01672
হয় কক্ষীয় ছিট পৃথিবী ও সূর্যের মধ্যেcos
অবশ্যই কোসাইন ফাংশন, তবে রেডিয়ানগুলির চেয়ে ডিগ্রিতে যুক্তি সহ0.9856
হয় 360 ° / 365,256363 দিন , এক বছরের মধ্যে একটি পূর্ণ আবর্তন, যেখানে365.256363
একটি নাক্ষত্রিক বছর দৈর্ঘ্য হয়, গড় সৌর দিনday
বছরের দিন হয়[1-365]
4
পেরিথিলিয়নে অফসেট উপস্থাপন করে যা 4 থেকে 6 জানুয়ারির মধ্যে রয়েছে
সূত্রটি পুরো দিন সময় নেয় তবে এই চ্যালেঞ্জের উদ্দেশ্যে - একটি অবিচ্ছিন্ন আউটপুট - আপনাকে আরও সঠিক হতে হবে; অথবা পরের দিন পর্যন্ত কিছুই ঘটবে না। কেবলমাত্র বর্তমান দিন বিগত সময় শতাংশ যোগ মত 1 :
day + (h * 3600 + m * 60 + s) / 864 / 100
কয়েকটি উদাহরণ:
- 1 জানুয়ারী, 23:59:59
1.99998842592593
- 1 জানুয়ারী, 18:00:00 |
1.75
- 1 জানুয়ারী, 12:00:00 |
1.50
- 1 জানুয়ারি, 06:00:00 |
1.25
ইনপুট
এই চ্যালেঞ্জের কোনও ইনপুট নেই।
আপনার ভাষা যদি বর্তমান সময়টি না পেতে পারে তবে আপনি এটিকে আপনার প্রোগ্রামের ইনপুট হিসাবে পেতে পারেন। বৈধ ইনপুটগুলি টাইমস্ট্যাম্প বা সম্পূর্ণ তারিখ-কালীন স্ট্রিং যা ভাষার পক্ষে সেরা। বর্তমান দিনটি একা ( 5
৫ জানুয়ারীর মতো বা 5.25
একই দিনের জন্য o'clock টা বাজে) পাস করার অনুমতি নেই।
আউটপুট
পৃথিবী থেকে সূর্যের বর্তমান দূরত্ব আউটপুট করুন:
- মানটি আউটপুট করুন
km
। - কমপক্ষে প্রতি সেকেন্ডে মান আপডেট করুন ।
উদাহরণ আউটপুট:
152098342
যদি এটি আপনার বাইট গণনা বৃদ্ধি না করে তবে আপনি ফলাফলটি খুব সুন্দরভাবে মুদ্রণ করতে পারেন:
152,098,342
152,098,342 km
আবশ্যকতা
- আপনি একটি প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। এটি যদি কোনও বেনামে কাজ করে থাকে তবে দয়া করে কীভাবে এটি চালাবেন তার একটি উদাহরণ অন্তর্ভুক্ত করুন।
- এটি কোড-গল্ফ তাই বাইট জিতে সংক্ষিপ্ত উত্তর।
- স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।
উদাহরণ বাস্তবায়ন
আমি জাভাস্ক্রিপ্টে একটি উদাহরণ বাস্তবায়ন প্রস্তুত করেছি। এটি প্রতিযোগিতামূলক বা গল্ফডও নয়।
// dayOfYear from http://stackoverflow.com/a/8620357/1456376
Date.prototype.dayOfYear = function() {
var j1= new Date(this);
j1.setMonth(0, 0);
return Math.round((this-j1)/8.64e7);
}
// vars
var e = document.getElementById('view'),
au = 149597870.691,
deg2rad = Math.PI/180,
date = now = value = null;
// actual logic
function calculate() {
date = new Date();
now = date.dayOfYear() + (date.getHours() * 3600 + date.getMinutes() * 60 + date.getSeconds()) / 864 / 100;
value = 1 - 0.01672 * Math.cos(deg2rad * 0.9856 * (now - 4));
// supported in Firefox and Chrome, unfortunately not in Safari
e.innerHTML = Math.round(value * au).toLocaleString('en-US') + ' km';
setTimeout(calculate, 1000);
}
// let's do this
calculate();
<div id="view"></div>
1 অযৌক্তিকভাবে জটিলতা না বাড়ানোর জন্য আপনার স্থানীয় সময়টিকে ইউটিসিতে রূপান্তর করতে হবে না। আপনি যদি ইউটিসি ব্যবহার করেন তবে দয়া করে আপনার উত্তরে একটি নোট যুক্ত করুন।
2 আরও তথ্যের জন্য পদার্থবিদ্যায় " বছরের একটি নির্দিষ্ট দিনে আর্থ-সূর্যের দূরত্ব " দেখুন
Math.cos
রেডিয়ান ব্যবহার করে। এবং যেহেতু এই সূত্রটি খুব আনুমানিক বলে মনে হচ্ছে , উত্তরগুলি কীভাবে যাচাই করা হবে সে সম্পর্কে আপনাকে পরিষ্কার হতে হবে।