حساب دالة أويلر الضربية للأعداد الكبيرة

Rust Hard math

مهمة «حساب دالة أويلر الضربية للأعداد الكبيرة»

أعطيت عدد طبيعي n (1 ≤ n ≤ 10^12). يجب حساب قيمة دالة أويلر φ(n) — عدد الأعداد من 1 إلى n التي هي أولية نسبيًا مع n. استخدم التحليل إلى العوامل الأولية باستخدام القسمة التجريبية حتى sqrt(n) وخوارزمية غربال إراتوستينس لإيجاد الأعداد الأولية مسبقًا حتى 10^6. أخرج النتيجة.

تنسيق الإدخال

عدد صحيح واحد n.

تنسيق الإخراج

عدد صحيح واحد — قيمة φ(n).

أمثلة

مثال 1

الإدخال
1
الإخراج
1

مثال 2

الإدخال
2024-12-31
الإخراج
Вторник

مثال 3

الإدخال
10
الإخراج
4

مثال 4

الإدخال
2000-01-01
الإخراج
Суббота
main.rs