'\" t .\" Title: primecount .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/16/2026 .\" Manual: \ \& .\" Source: \ \& .\" Language: Persian .\" .TH "PRIMECOUNT" "1" "04/16/2026" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" primecount \- شمارش اعداد اول .SH "خلاصه دستور (SYNOPSIS)" .sp \fBprimecount\fR \fIx\fR [\fIگزینه‌ها\fR] .SH "توضیحات (DESCRIPTION)" .sp شمارش تعداد اعداد اول کوچک‌تر یا مساوی با x (کوچک‌تر مساوی 10^31) با استفاده از پیاده‌سازی‌های سریع الگوریتم‌های تابع شمارش ترکیبیاتی اعداد اول\&. به‌طور پیش‌فرض، primecount اعداد اول را با استفاده از الگوریتم خاویر گوردون (Xavier Gourdon) شمارش می‌کند که دارای پیچیدگی زمانی اجرای O(x^(2/3) / log^2 x) عملیات بوده و از O(x^(2/3) * log^3 x) حافظه استفاده می‌کند\&. برنامه primecount چندریسه‌ای است و به‌طور پیش‌فرض از تمام هسته‌های پردازنده (CPU) در دسترس استفاده می‌کند\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-d, \-\-deleglise\-rivat\fR .RS 4 شمارش اعداد اول با استفاده از الگوریتم دلیز\-ریوات (Deleglise\-Rivat)\&. .RE .PP \fB\-\-double\-check\fR .RS 4 محاسبه مجدد pi(x) با فاکتور(های) تنظیم آلفای جایگزین جهت اعتبارسنجی نتیجه اول\&. این افزونگی به محافظت در برابر اشکالات احتمالی در primecount کمک می‌کند: اگر خطایی وجود داشته باشد، بسیار بعید است که هر دو محاسبه pi(x) نتیجه یکسان (و نادرست) تولید کنند\&. .RE .PP \fB\-g, \-\-gourdon\fR .RS 4 شمارش اعداد اول با استفاده از الگوریتم خاویر گوردون (الگوریتم پیش‌فرض)\&. .RE .PP \fB\-l, \-\-legendre\fR .RS 4 شمارش اعداد اول با استفاده از فرمول لژاندر (Legendre)\&. .RE .PP \fB\-\-lehmer\fR .RS 4 شمارش اعداد اول با استفاده از فرمول لمر (Lehmer)\&. .RE .PP \fB\-\-lmo\fR .RS 4 شمارش اعداد اول با استفاده از الگوریتم لاگاریاس\-میلر\-اودلیزکو (Lagarias\-Miller\-Odlyzko)\&. .RE .PP \fB\-m, \-\-meissel\fR .RS 4 شمارش اعداد اول با استفاده از فرمول مایسل (Meissel)\&. .RE .PP \fB\-\-Li\fR .RS 4 تقریب pi(x) با استفاده از انتگرال لگاریتمی اویلری: Li(x)، همراه با Li(x) = li(x) \- li(2)\&. .RE .PP \fB\-\-Li\-inverse\fR .RS 4 تقریب n-امین عدد اول با استفاده از معکوس انتگرال لگاریتمی اویلری: Li^\-1(x)\&. .RE .PP \fB\-n, \-\-nth\-prime\fR .RS 4 محاسبه n-امین عدد اول\&. .RE .PP \fB\-p, \-\-primesieve\fR .RS 4 شمارش اعداد اول با استفاده از غربال اراتستن (sieve of Eratosthenes)\&. .RE .PP \fB\-\-phi\fR \fIX\fR \fIA\fR .RS 4 تابع phi(x, a) اعدادی را می‌شمارد که <= x هستند و بر هیچ‌یک از a عدد اول نخست بخش‌پذیر نیستند\&. .RE .PP \fB\-R, \-\-RiemannR\fR .RS 4 تقریب pi(x) با استفاده از تابع R ریمان: R(x)\&. .RE .PP \fB\-\-RiemannR\-inverse\fR .RS 4 تقریب n-امین عدد اول با استفاده از معکوس تابع R ریمان: R^\-1(x)\&. .RE .PP \fB\-\-RiemannR\-psi\fR .RS 4 تقریب pi(x) با استفاده از یک تقریب پالایش‌شده تابع R ریمان مبتنی بر R(psi(x))\&. در مقایسه با \fB\-\-RiemannR\fR، این گزینه ابتدا psi(x) چبیشف را با استفاده از فرمول صریح ریمان و با ۵۱۲ گامای صفر زتای اول تقریب می‌زند و سپس R(psi(x)) را ارزیابی می‌کند\&. در عمل، این گزینه معمولاً pi(x) را با دقت بیشتری نسبت به R(x) معمولی تخمین می‌زند\&. .RE .PP \fB\-\-RiemannR\-psi\-inverse\fR .RS 4 تقریب n-امین عدد اول با استفاده از معکوس تقریب پالایش‌شده R(psi(x))\&. در مقایسه با \fB\-\-RiemannR\-inverse\fR، این گزینه به‌جای R(x) معمولی، تقریب تصحیح‌شده با psi را معکوس می‌کند\&. در عمل، این گزینه معمولاً n-امین عدد اول را با دقت بیشتری نسبت به R^\-1(x) تخمین می‌زند\&. .RE .PP \fB\-s, \-\-status\fR[=\fINUM\fR] .RS 4 نمایش پیشرفت محاسبه، مانند 1%, 2%, 3%, \&... نمایش \fINUM\fR رقم بعد از ممیز اعشار: \fB\-\-status=1\fR مقدار 99\&.9% را چاپ می‌کند\&. .RE .PP \fB\-\-test\fR .RS 4 اجرای آزمون‌های مختلف صحت‌سنجی و خروج\&. .RE .PP \fB\-\-time\fR .RS 4 چاپ زمان سپری‌شده بر حسب ثانیه\&. .RE .PP \fB\-t, \-\-threads\fR=\fINUM\fR .RS 4 تنظیم تعداد ریسه‌ها، 1 <= \fINUM\fR <= هسته‌های پردازنده (CPU)\&. به‌طور پیش‌فرض، primecount از تمامی هسته‌های پردازنده در دسترس استفاده می‌کند\&. .RE .PP \fB\-v, \-\-version\fR .RS 4 چاپ اطلاعات نسخه و پروانه انتشار (مجوز)\&. .RE .PP \fB\-h, \-\-help\fR .RS 4 چاپ این منوی راهنما\&. .RE .SH "گزینه‌های پیشرفته برای الگوریتم دلیز\-ریوات (ADVANCED OPTIONS FOR THE DELEGLISE\-RIVAT ALGORITHM)" .PP \fB\-\-P2\fR .RS 4 محاسبه دومین تابع غربال جزئی\&. .RE .PP \fB\-\-S1\fR .RS 4 محاسبه برگ‌های معمولی (ordinary leaves)\&. .RE .PP \fB\-\-S2\-trivial\fR .RS 4 محاسبه برگ‌های ویژه بدیهی (trivial special leaves)\&. .RE .PP \fB\-\-S2\-easy\fR .RS 4 محاسبه برگ‌های ویژه آسان (easy special leaves)\&. .RE .PP \fB\-\-S2\-hard\fR .RS 4 محاسبه برگ‌های ویژه سخت (hard special leaves)\&. .RE .SS "ضریب تنظیم (Tuning factor)" .sp ضریب تنظیم آلفا (alpha) عمدتاً محاسبات فرمول‌های S2_easy و S2_hard را متعادل می‌سازد\&. با افزایش آلفا، زمان اجرای فرمول S2_hard معمولاً کاهش می‌یابد، در حالی که زمان اجرای فرمول S2_easy افزایش پیدا می‌کند\&. به‌طور پیش‌فرض، primecount به‌طور خودکار ضریب تنظیم آلفایی را انتخاب می‌کند که به احتمال زیاد بهترین عملکرد را برای ورودی کاربر ارائه دهد\&. .sp ضریب تنظیم آلفا همچنین برای بررسی دوباره محاسبات pi(x) بسیار مفید است\&. شما pi(x) را دو بار محاسبه می‌کنید، اما برای محاسبه دوم از یک ضریب آلفای کمی متفاوت استفاده می‌نمایید\&. اگر نتایج هر دو محاسبه pi(x) یکسان باشند، صحت pi(x) با موفقیت تأیید شده است\&. .PP \fB\-a, \-\-alpha\fR=\fINUM\fR .RS 4 تنظیم ضریب تنظیم آلفا: y = x^(1/3) * alpha، به طوری که 1 <= alpha <= x^(1/6)\&. .RE .SH "گزینه‌های پیشرفته برای الگوریتم خاویر گوردون (ADVANCED OPTIONS FOR XAVIER GOURDON\(cqS ALGORITHM)" .PP \fB\-\-AC\fR .RS 4 محاسبه فرمول‌های A + C\&. .RE .PP \fB\-\-B\fR .RS 4 محاسبه فرمول B\&. .RE .PP \fB\-\-D\fR .RS 4 محاسبه فرمول D\&. .RE .PP \fB\-\-Phi0\fR .RS 4 محاسبه فرمول Phi0\&. .RE .PP \fB\-\-Sigma\fR .RS 4 محاسبه ۷ فرمول Sigma\&. .RE .SS "ضرایب تنظیم (Tuning factors)" .sp ضرایب تنظیم alpha_y و alpha_z عمدتاً محاسبات فرمول‌های A، B، C و D را متعادل می‌سازند\&. هنگامی که alpha_y کاهش و alpha_z افزایش می‌یابد، زمان اجرای فرمول B افزایش یافته در حالی که زمان اجرای فرمول‌های A، C و D کاهش می‌یابد\&. به‌طور پیش‌فرض، primecount به‌طور خودکار ضرایب تنظیم alpha_y و alpha_z را انتخاب می‌کند که به احتمال زیاد بهترین عملکرد را برای ورودی کاربر به همراه دارند\&. .sp هر دو ضریب تنظیم alpha_y و alpha_z نیز برای بررسی دوباره محاسبات pi(x) بسیار مفید هستند\&. شما pi(x) را دو بار محاسبه می‌کنید اما برای محاسبه دوم از ضرایب کمی متفاوت alpha_y و/یا alpha_z استفاده می‌کنید\&. اگر نتایج هر دو محاسبه pi(x) یکسان باشند، صحت pi(x) با موفقیت تأیید شده است\&. .PP \fB\-\-alpha\-y\fR=\fINUM\fR .RS 4 تنظیم ضریب تنظیم alpha_y: رابطه y = x^(1/3) * alpha_y، به طوری که 1 <= alpha_y <= x^(1/6)\&. .RE .PP \fB\-\-alpha\-z\fR=\fINUM\fR .RS 4 تنظیم ضریب تنظیم alpha_z: رابطه z = y * alpha_z، به طوری که 1 <= alpha_z <= x^(1/6)\&. .RE .SH "بررسی دوباره محاسبات PI(X) (DOUBLE CHECKING PI(X) COMPUTATIONS)" .sp برای محاسبات بزرگ pi(x) که چندین هفته یا ماه به طول می‌انجامند، اعتبارسنجی این محاسبات جهت محافظت در برابر خطاهای محاسباتی ناشی از نقص‌های سخت‌افزاری و/یا اشکالات نرم‌افزاری در primecount بسیار مهم است\&. .sp برای اعتبارسنجی یک محاسبه pi(x)، آن را دو بار محاسبه می‌کنید؛ اما برای اجرای دوم از گزینه \fB\-\-double\-check\fR استفاده می‌نمایید\&. گزینه \fB\-\-double\-check\fR استفاده از فاکتور(های) تنظیم آلفای جایگزین را فعال می‌کند و تضمین می‌نماید که تمامی کران‌های داخلی در محاسبه دوم کمی با اجرای اول متفاوت باشند\&. این افزونگی به محافظت در برابر باگ‌های احتمالی در primecount کمک می‌کند: اگر خطایی رخ دهد، بسیار بعید است که هر دو محاسبه pi(x) نتیجه یکسان (و نادرستی) به بار آورند\&. .PP \fBprimecount 1e20 \-\-status\fR .RS 4 اولین محاسبه pi(x) با استفاده از ضریب(های) تنظیم پیش‌فرض آلفا\&. .RE .PP \fBprimecount 1e20 \-\-status \-\-double\-check\fR .RS 4 دومین محاسبه pi(x) با استفاده از ضریب(های) تنظیم جایگزین آلفا\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP \fBprimecount 1000\fR .RS 4 شمارش اعداد اول کوچک‌تر یا مساوی با 1000\&. .RE .PP \fBprimecount 1e17 \-\-status\fR .RS 4 شمارش اعداد اول کوچک‌تر یا مساوی با 10^17 و چاپ اطلاعات وضعیت پیشرفت\&. .RE .PP \fBprimecount 1e15 \-\-threads 1 \-\-time\fR .RS 4 شمارش اعداد اول کوچک‌تر یا مساوی با 10^15 با استفاده از یک تک‌ریسه و چاپ زمان سپری‌شده\&. .RE .SH "صفحه خانگی (HOMEPAGE)" .sp https://github\&.com/kimwalisch/primecount .SH "نویسنده (AUTHOR)" .sp Kim Walisch