تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 10 اردیبهشت 1402 |
سطح تمرین | سخت |
در این پست میخواهیم پاسخ تمرین اولِ اول کوئرا در پایتون را بررسی و پیاده سازی نماییم.
جواب تمرین کوئرا مسئله شش و شش
سوال:عدد k را در نظر بگیرید.
k = (a0…an)10
این عدد در صورتی اوِل اول است که دو شرط را رعایت کند.
۱ .خودش اول باشد.
۲ .اگر به ازای هر i شروع به پیدا کردن زیررشته های آن کنیم به طوری که:
ki = aiai+1
0 ≤ i ≤ n − 1
تمام های به دست آمده به فرم طبیعی خود نیز اول باشند
شما باید با گرفتن اعداد a و b تمام اعداد اوِل اول از a تا b را چاپ کنید. برای اینکه بیشتر با سینتکس پایتون آشنا بشید برای شما یک شرط ساده اضافه میکنیم:
در حلقه های خودتون حق استفاده از متغیر boolean به عنوان flag ندارید.
ورودی
ورودی تنها شامل یک خط است که در آن عدد طبیعی a , b و با فاصله و به ترتیب آمده است.
a,b >= 1000000
a,b >= 2
خروجی
خروجی برنامه در هر خط اعداد اوِل اول که در بازهa,b قرار دارند را به ترتیب چاپ میکند.
مثال
ورودی نمونه ۱
80 150
خروجی نمونه ۱
83
89
97
113
131
137
ویدیو توضیحات روش حل را مشاهده نمایید.
برای پیاده سازی پاسخ تمرین اولِ اول کوئرا در پایتون باید ابتدا تابع تشخیص عدد اول را پیاده سازی کنیم.
همچنین باید دقت کنیم که این تابع مصرف رم کمی داشته باشد تا در کمترین زمان ممکن عدد اول را تشخیص دهد.
پس تابع بررسی عدد اول را با سبکی متفاوت تر مینویسیم:
در ابتدا نهایت تعداد تقسیم های ممکن را محاسبه میکنیم و بعد تشخیص عدد اول را بررسی میکنیم.
کار با دیتابیس SQLite در پایتون
import math def is_prime(n): if n <= 1: return False max_div = math.floor(math.sqrt(n)) for i in range(2, 1 + max_div): if n % i == 0: return False return True
پس تا اینجا این تابع بررسی میکند که عدد ما اول است یا خیر.
در ادامه حل تمرین ابتدا باید ورودی بازه را از کاربر دریافت کنیم.
از آنجا که این ورودی به صورت space وارد میشود پس سورس کد را به صورت زیر وارد میکنیم:
the_string = input() a, b = the_string.split()
در ادامهباید یک حلقه برای پیمایش ابتدا تا انتهای بازه تعیین کنیم.
سپس ابتدا اول بودن عدد را بررسی میکنیم.
و در نهایت زیر رشته های عدد را استخراج و اول بودن آن زیر رشته ها را نیز جداگانه بررسی میکنیم.
پس سورس کد نهایی این مسئله به صورت زیر میشود:
خروجی به ازای ورودی های داده شده را نیز میتوانید مشاهده نمایید.
پس از ثبت نام در سایت یا ورود به حساب کاربری خود میتوانید سورس کد کامل را دسترسی داشته باشید.
سورس کد در IDE معروف pycharm نوشته شده است.
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.