English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مثالي براي بررسي كردن آيا يك عدد صحيح اول است يا نه با استفاده از چرخه for و جملات if ... else. اگر عدد كاملاً غير اول باشد، در خروجي توضيح داده شود كه چرا كاملاً غير اول است.
براي درك اين مثال، بايد موارد زير را بدانيد:برنامهنویسی بايثونموضوع:
اعداد صحيح اولي، كه بجز 1 هيچ عامل دیگری ندارند، و آن عدد خود به عنوان عدد اول شناخته میشود. 2، 3، 5، 7 و غیره اعداد اول هستند، زیرا هیچ عامل دیگری ندارند. اما 6 عدد اول نيست (كاملاً غير اول است)، زیرا 2 x 3 = 6 است.
# برنامه بررسي كردن يك عدد آيا عدد اول است يا نه num = 407 # ورود از كاربر # num = int(input("ورود يك عدد: ")) # عدد اول بزرگتر از 1 است if num > 1: # بررسي كاراكتر for i in range(2, num): if (num % i) == 0: print(num, "كاملاً غير اول است") print(i, "ضرب در", num//i, "برابر با", num) break else: print(num, "عدد اول است") # اگر عدد ورودي كوچكتر از # يا برابر با 1، كاملاً غير اول است else: print(num, "كاملاً غير اول است")
نتايج خروجي
407 كاملاً غير اول است 11 ضرب در 37 برابر 407 است
در اين برنامه، بررسي ميشود كه آيا متغير num عدد اول است. شمارههاي كوچكتر يا برابر با 1 عدد اول نيستند. بنابراين، تنها زماني كه num بزرگتر از 1 باشد، بررسي ميشود.
ممكن است بررسي كنيم كه آيا num توسط هر عدد بين 2 تا num - 1 قابل تقسيم است. اگر در اين محدوده شمارندهاي يافت شود، آن عدد كاملاً غير اول است. در غير اين صورت، عدد اول است.
ممكن است محدوده جستجوي شمارنده را كوچكتر كنيم.
در برنامه فوق، محدوده جستجوي ما از 2 تا num - 1 است.
ممكن است از محدوده [2, num/2] يا [2, ريشه كвадراتي num] استفاده كنيم. محدوده دوم بر اساس اين واقعيت است كه عدد كاملاً غير اولياني بايد داشته باشد كه كوچكتر از ريشه كвадراتي آن باشد. در غير اين صورت، عدد اول است.
ممكن است مقدار متغير num را در كد منبع بالا تغيير دهيد تا ببينيد آيا عدد به عنوان عدد اول غير كامل است.