مجموع مضرب‌های اعداد 3 و 5 تا زیر 1000 را پیدا کن

سوال اینه: بیا مضرب‌های 3 یا 5 رو تا زیر 1000 بچین کنار هم. بعد این‌هارو باهم جمع کن. جوابش رو بهم بگو

بهترین راهکار این است که مساله را به قدم‌های کوچک‌کوچک بشکونیم.

پس اول بیاید مضرب‌های 3 یا 5 رو تا زیر 10 لیست کنیم و باهم جمعشان کنیم:

3,5,6,9

جمع این‌ها 23 است.

ادامه لیست را چه اعدادی پر می‌کنند؟

3,5,6,9,12,15,18,20,21,…

 

 یعنی می‌شه نشست تا 999 اعداد رو دونه دونه شمرد و باهم جمع کرد

تو نتیجه نگیری میمیری؟

 

من بهترشو بگم؟ می‌شه اعداد رو تا 999 یکی یکی خفت کرد و ببینیم به 3 و 5 بخش‌پذیر هستن یا نه، بعد باهم جمعشون کنیم

توی برنامه‌نویسی برای اینکه بفهمیم عددی  به یه عددی دیگر بخش‌پذیر هست یا نه، باید بگوییم اگر این دوتا را به هم تقسیم کردیم و باقی‌مانده صفر شد یا به عبارتی کف ترازو چیزی نماند، می‌گوییم بخش‌پذیرند.

چون قراره اعداد از یک تا هزار را یکی یکی خفت کنیم، معلوم است که به حلقه نیاز داریم. یعنی چیزی که به طور اتوماتیک شروع به شمارش اعداد کند.

قبل از هر چیز باید بیرون حلقه یک متغیری تعریف کنیم که مقدارش صفر باشد و با جریان در حلقه، به طور مداوم یکی به آن اضافه گردد.

برای درکش همین خره رو در نظر بگیرین. فکر کنین این خره باید باقالی بار کنه. هر بار هم یه کیسه باقالی باید بار خره کنیم. پس دفعه اول که خره هست، باری روی دوشش نیست! ولی هر بار که میوفته توی حلقه یه کیسه به مجموع کیسه‌هاش اضافه می‌شه.

حالا خره رو ول کنیم، برگردیم سر داستان خودمون.

پس تا اینجا فهمیدیم که ما متغیری داریم که مقدار اولیه‌اش صفر است و هر بار که در حلقه می‌چرخد یکی به آن اضافه می‌گردد. (یعنی جمع‌ها رو ما هر بار می‌ریزیم توی این ظرفه.)  اگر اسم این ظرف را کاسه بگذاریم و عددی که هربار خفتش می‌کنیم بذاریم b:

 

kase=0

:(for b in range(1,1000

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

        kase=kase+b

(Print (kase

چه عددی را چاپ کرد؟

یه سوال، اگر گفته بود اعداد زیر 1000000000 را حساب کنید، باید چیکار می‌کردیم؟

باید می‌زدیم تو سر خودمون

سوال: مجموع مضرب‌های اعداد 3 یا 5 تا زیر 1000000000 را پیدا کن