زمان کنونی: ۱۰ اردیبهشت ۱۴۰۳, ۰۱:۳۴ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

محاسبه اعداد

ارسال:
  

JetiX پرسیده:

محاسبه اعداد

مجموع اعداد فرد بین ۱ تا n؟


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

Pure Liveliness پاسخ داده:

RE: محاسبه اعداد

سلام. این تابع میاد به صورت بازگشتی مجموع اعداد فرد از ۱ تا n رو حساب میکنه اما مهم نیست n زوج باشه یا فرد، در هر صورت پاسخ درستی میده.
مقداری که در صورت زوج بودن عدد n برمیگردونه: [tex]return\: (n+oddsum(n-2))[/tex]
اگه [tex]n\: \mod\: 2\: ==0[/tex] در این صورت زوج خواهد بود. پس عدد قبلی ش فرد هست دیگه. اگه زوج باشه یکی ازش کم میکنه میشه عدد قبلیش. اون رو برمیگردونه به علاوه ی اعداد فردی که قبل از عدد زوج قبلیش هستن. یعنی میاد همین تابع رو برای عدد زوج قبلیش اجرا میکنه. جوابش رو با عدد فرد قبل از خودش جمع میکنه و این روال ادامه داره تا جایی که به ۱ برسیم. یعنی مثلا اعداد زیر رو در نظر بگیرید. میخوایم جمع اعداد فرد رو حساب کنیم.
۱ ، ۲، ۳، ۴، ۵، ۶، ۷، ۸
n=8 . دفعه ی اول [tex]oddsum(۸)[/tex] صدا زده میشه. چون زوج هست، یکی ازش کم میشه یعنی n میشه ۷. حالا مقدار بازگشتی [tex]oddsum(7+oddsum(6))[/tex] خواهد بود. حالا ۷ رو جمع کرده و برای عدد زوج قبلیش صدا میزنه تابع رو. یعنی واسه [tex]oddsum(۶)[/tex]
[tex]oddsum(۵+oddsum(۴))[/tex] صدا زده میشه. تا برسیم به ۱. تعداد صدا زدن تابع برابر میشه با مرتبه ی زمانی تابع که برابر هست با n/2

با فرض فرد بودن n, دستور else انجام میشه و خواهیم داشت: [tex]return\: (n+oddsum(n-2))[/tex] مثلا توی اینجا:
۱،۲،۳،۴،۵،۶،۷
مقدار بازگشتی برابر میشه با [tex]return\: (۷+oddsum(۵))[/tex] که [tex]oddsum(۵)[/tex] صدا زده میشه و برابر میشه با [tex]۵+oddsum(3)[/tex] تا برسیم به ۱. مرتبه ش میشه n/2
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  محاسبه ارتفاع درخت.... baharkhanoom ۳ ۷,۵۵۴ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۴۸ ب.ظ
آخرین ارسال: mohsentafresh
  تعداد اعداد ۵ رقمی هم ارز ss311 ۲ ۲,۳۸۳ ۰۶ بهمن ۱۳۹۸ ۰۴:۳۹ ب.ظ
آخرین ارسال: ss311
  ریشه اعداد مختلط meysam57 ۰ ۲,۶۲۶ ۰۷ آبان ۱۳۹۸ ۰۶:۴۳ ب.ظ
آخرین ارسال: meysam57
  نحوه محاسبه دفیق لگاریتم بدون ماشین حساب mcse2010 ۲ ۸۰,۲۰۴ ۲۸ مهر ۱۳۹۸ ۰۹:۳۸ ق.ظ
آخرین ارسال: chemical_darton29
  محاسبه تراز معدل موثر از رشته آی تی یا علوم کامپیوتر به مهندسی کامپیوتر یا بالعکس gnulinux ۰ ۲,۳۲۹ ۲۱ شهریور ۱۳۹۸ ۰۸:۳۷ ق.ظ
آخرین ارسال: gnulinux
  تقسیم برای محاسبه کد افزونه چرخشی (CRC) Sanazzz ۴ ۶,۲۳۰ ۲۰ آذر ۱۳۹۷ ۰۱:۱۸ ب.ظ
آخرین ارسال: Sanazzz
  محاسبه چندمین عنصر آرایه Mr.R3ZA ۶ ۶,۱۶۹ ۱۹ شهریور ۱۳۹۷ ۰۸:۱۲ ب.ظ
آخرین ارسال: Saman
  درخواست(محاسبه پیچیدگی زمانی)(بخش روابط بازگشتی) Saman ۶ ۶,۹۱۶ ۲۷ خرداد ۱۳۹۷ ۰۳:۲۴ ب.ظ
آخرین ارسال: saeed_vahidi
  نحوه محاسبه مجموعه پیش بینی یا lookahead Erfan_Ekh ۱ ۲,۳۳۵ ۲۷ خرداد ۱۳۹۷ ۰۱:۳۱ ق.ظ
آخرین ارسال: ftmbghrn
  مشکل در محاسبه مرتبه ایک سوال Mr.R3ZA ۰ ۱,۷۲۷ ۲۴ خرداد ۱۳۹۷ ۰۱:۰۳ ب.ظ
آخرین ارسال: Mr.R3ZA

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close