freeCodeCamp/curriculum/challenges/arabic/08-coding-interview-prep/project-euler/problem-450-hypocycloid-and...

3.0 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f52e1000cf542c510041 5 Problem 450: Hypocycloid and Lattice points المشكلة 450: نقاط هيبوسايويد وشبكة شعرية

Description

و hypocycloid هو المنحنى المرسومة بنقطة على دائرة صغيرة تدور داخل دائرة أكبر. المعادلات البارامترية ل hypocycloid تتمحور في الأصل ، وتبدأ عند أقصى نقطة اليمين تعطى بواسطة: $ x (t) = (R - r) \ cos (t) + r \ cos (\ frac {R - r} rt) $ $ y (t) = (R - r) \ sin (t) - r \ sin (\ frac {R - r} rt) $ حيث R هو نصف قطر الدائرة الكبيرة و r نصف قطرها الصغير دائرة.

دع $ C (R، r) $ يكون مجموعة نقاط مميزة مع إحداثيات صحيحة على hypocycloid مع نصف قطر R و r وحيث توجد قيمة مشابهة لـ t مثل $ \ sin (t) $ و $ \ cos ( t) $ هي أرقام منطقية.

دع $ S (R، r) = \ sum _ {(x، y) \ in C (R، r)} | x | + | y | $ هو مجموع القيم المطلقة للإحداثيات x و y للنقاط في $ C (R، r) $.

دع $ T (N) = \ sum {R = 3} ^ N \ sum {r = 1} ^ {\ lfloor \ frac {R - 1} 2 \ rfloor} S (R، r) $ يكون مجموع $ S (R، r) $ للأعداد الصحيحة الموجبة R و r و $ R \ leq N $ و $ 2r <R $.

يتم منحك: C (3، 1) = {(3، 0)، (-1، 2)، (-1،0)، (-1، -2)} C (2500، 1000) = {(2500 ، 0) ، (772 ، 2376) ، (772 ، -2376) ، (516 ، 1792) ، (516 ، -1792) ، (500 ، 0) ، (68 ، 504) ، (68 ، -504) ، ( -1356 ، 1088) ، (-1356 ، -1088) ، (-1500 ، 1000) ، (-1500 ، -1000)}

ملاحظة: (-625 ، 0) ليس عنصرًا من C (2500 ، 1000) لأن $ \ sin (t) $ ليس رقمًا منطقيًا للقيم المقابلة لـ t.

S (3، 1) = (| 3 | + | 0 |) + (| -1 | + | 2 |) + (| -1 | + | 0 |) + (| -1 | + | -2 |) = 10

تي (3) = 10 ؛ T (10) = 524؛ T (100) = 580442؛ T (103) = 583108600.

تجد تي (106).

Instructions

Tests

tests:
  - text: يجب أن يقوم <code>euler450()</code> بإعادة 583333163984220900.
    testString: 'assert.strictEqual(euler450(), 583333163984220900, "<code>euler450()</code> should return 583333163984220900.");'

Challenge Seed

function euler450() {
  // Good luck!
  return true;
}

euler450();

Solution

// solution required