Amir_B
Amir_B
خواندن ۲ دقیقه·۲ سال پیش

حل مسئله اول سایت projecteuler.net

سلام امروز میخوام مسئله اول سایت projecteuler.net رو براتون اینجا قرار بدم .

شرح مسئله به این صورت هست :
اگر تمام اعداد طبیعی زیر 10 را که مضرب 3 یا 5 هستند فهرست کنیم، به 3، 5، 6 و 9 می رسیم. مجموع این مضرب ها 23 است. مجموع همه مضرب های 3 یا 5 زیر 1000 را پیدا کنید.

حل سوال به صورت زیر است .

sum = 0


for i in range(1, 1000):

if i % 3 == 0 or i % 5 == 0:

sum += i


print(sum)

در قسمت اول یه متغیر تعریف میکنیم که در آن 0 قرار دارد.

در قدم بعد از یه حلقه for استفاده میکنیم که نامش i است . این حلقه قرار است که از دامنه 1 تا 1000 دانه دانه برای ما پیمایش کند .و هر کدام از اعداد را در یک فیلتر بخصوصی قرار دهد .

چه فیلتری ؟ همان طور که سوال از ما خواسته است . ما باید اعداد یک تا هزار را وارد فیلتری کنیم که یا بر 3 بخش پذیر باشد و یا بر 5 بخش پذیر باشد . به همین دلیل از یه دستور شرطی استفاده میکنیم.

ما برای بخش پذیری از مود (%) به این صورت که هر عددی مودش بر 2 برابر صفر شود ما نتیجه میگیریم که این عدد بر 2 بخش پذیر است.

طبق توضیحی که در بالا دادم ما هم برای 3 و 5 این کار را انجام داده ایم . و چون در صورت سوال از واژه "یا " استفاده شده است . ما از or بین این دو مودی که گرفته ایم استفاده میکنیم .

در قدم بعد sum =sum+i می شود . و به این صورت هر بار هر عددی که از فیلتر رد می شود با sum جمع می شود و به این صورت ما مجموع تمامی اعداد از فیلتر رد شده را داریم .


و در اخر از بلوکمان خارج می شویم . و با استفاده از تابع print مجموع را چاپ میکنیم.



سایت projecteuler netمسئله سایت projecteulerمسئله اول اویلرتمرین پایتونبرنامه نویسی
دانشجوی کارشناسی کامپیوتر
شاید از این پست‌ها خوشتان بیاید