اطلاعیه

Collapse
No announcement yet.

سوالات المپیاد برنامه نویسی و حل انها

Collapse
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • سوالات المپیاد برنامه نویسی Ùˆ حل انها

    سلام.
    تصمیم گرفتم سوالات المپیاد رو بزارم تا تک تک روی سوالاتش کار کنیم و حل کنیم !

    من تقریبا جواب همه سوالها رو دارم ولی نمیزارم

    قوانین تایپیک به این صورته که اول مسله رو میزاریم بعد هر کسی تونست حل کنه پست میده اول روش حل مسله رو میگه بعد کد رو میزاره کسی فقط کد نزاره حتما توضیحات کاملی ارائه کنه !

    اولین سوالی که فک کنم سال 87 امده بود این بود !

    برنامه ای بنویسید که عدد 1389 رو به توان 2010 برسونه !

    یا علی !
    من و تو ان دو خطیم آری موازیان به ناچاری

    که هر دو باورمان زاغاز به همدگر نرسیدن بود

    چه سرنوشت غم انگیزی یست که کرم کوچک ابریشم

    تمام عمر قفس میبافت ولی به فکر پریدن بود (مرحوم حسین منزوری)


    از این دنیای بی احساس یه روز حقمو میگیرم !


    [CENTER]

  • #2
    a به توان b برابر است با حاصلضرب a در a برای b دوره. ضرب اعداد بزرگتر از ارائه اعداد صحیح در هر زبانی رو هم میشه با در نظر گرفتن عدد مفروض به صورت یک آرایه از ارقام اون اعداد انجام داد. مسئله اصلی تو این سوال ضرب اعداد صحیح بزرگ هست که یک مسئله تکراریه.

    Comment


    • #3
      سلام.

      میشه بیشتر در مورد حل مسله توضیح بدی ؟

      میخوام سوال بعدی رو بزارم که سختر از اینه این سوال یکم تکراریه البته یه تیکه سوال رو من برداشتم خواستم تیکه تیکه حل بشه !

      اصل سوال به این گونه بود

      برنامه ای بنویسید که باقیمانده 1389^2010 رو 6666666 حساب کنه !

      در اصل اول باید توارن رو میکردی بعد تقسیم !

      مرسی که جواب دادی !
      من و تو ان دو خطیم آری موازیان به ناچاری

      که هر دو باورمان زاغاز به همدگر نرسیدن بود

      چه سرنوشت غم انگیزی یست که کرم کوچک ابریشم

      تمام عمر قفس میبافت ولی به فکر پریدن بود (مرحوم حسین منزوری)


      از این دنیای بی احساس یه روز حقمو میگیرم !


      [CENTER]

      Comment


      • #4
        دو تا نکته تو این سوال هست:
        1. برای ارائه اعداد بزرگتر از ساختار های اولیه زبان ( مثل int, char, ... ) مخاطب روشی روپیدا کنه، دلیلش هم فکر کنم واضح باشه چون حاصل 2010 ^ 1389 تو هیچ ساختاز اولیه ای جا نمیشه.

        2. مخاطب باید از عملیات توان و تقسیم رو به صورت پایه ای انجام بده یعنی بدونه که a به توان b برار است با حاصلضرب a در a برای b دوره . همین طور تقسیمرو میشه با تفریق های متوالی مقسوم به مقسوم علیه انجام داد.( خود عمل ضرب هم برابر است با عمل جمع متوالی)

        اگه دنبال کد هستی جستجو کنی پیدا میکنی.

        Comment


        • #5
          آقا این سوال راه حل الگوریتمیک داره اینطوری نیس که به توان برسونی بعد تقسیم کنی :o
          برنامه نویسی که فقط کد زدن نیس که، این سوال رو که میدن نصف ملت مث شما واسه خودشون تفسیر اینطوری میکنن و لنگ میزنن تو جواب...
          واسه پیدا کردن جواب این قبیل سوالا یکم روجوع کنید به ریاضیات گسسته

          Comment


          • #6
            اون سوالی که تو ریاضیات گسسته مطرح میشه بحثش جدا از این سوال هست! باور نداری رجوع کن به همون ریاضیات گسسته :d

            نکته سوال اینه که چنین رقمی تو ساختار اولیه هیچ زبانی جا نمیشه. پس نمی تونی مستقیم به توان بروسنی و تقسیم کنی ( شاید یه زبان خاص منظوره وجود داشته باشه که این قابلیت رو داشه باشه). باید با یه ایده ای اینکار رو انجام بدی که این ایده هم خیلی تکراریه مثلا تو درس مبانی برنامه نویسی به دانشجو می گن برنامه ای بنویسید ک دو عدد 20 رقمی رو جمع یا ضرب کنه و یا مسئله محاسبه عمر دایناسورها...

            Comment


            • #7
              نه عزیز من
              وقتی بت میگن 12847612387413864981273 باقیماندش بر 3 چیه نمیشینی تقسیم کنی ببینی چندهو پس چی کا میکنی؟ آفرین

              اونی که به شما تو ترم 1 گفتن انجام بده با C++ بش میگن Operator Overloading واسه Huge numbers که به قول تو قدیمی و اخه. پس نمیاد تو المپیاد سوالش که به همین سادگی استفاده کنی
              تو همون ترم اول بهت یاد ندادن order الگوریتم رو؟
              بخای بشینی اینو به توان اون برسونی بعد تقسیم کنی که نوه داور باید جوابتو چک کنه جایزتم بدن به نوت

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

              Comment


              • #8
                D: اگه این طوری که شما میگی باشه، این دیگه سوال المپیاد برنامه نویسی نیست ! سوال کنکور ریاضیات گسسته است ( بخش همنهشتی )

                Comment


                • #9
                  سلام.

                  یه مدت میخوام سوال بعدی رو قرار بدم وقت نمیکنم !

                  حق با دوستمونه کل سوالاهای المپیاد ریاضیه حتی توی برگه سوالا نوشته آشنایی مقدماتی با c++ ! فقط (البته به جز ریاضی)

                  یعنی باید ریاضیت قوی باشه c++ هم یکم بلد باشی در حد اینکه چند تا متغییر یا ارایه تعریف کنی یا یه حلقه !

                  حالا ایشالله قرار میدادم خودتون میبینید !
                  Last edited by M0TRIX; 03-09-2011, 07:37 AM.
                  من و تو ان دو خطیم آری موازیان به ناچاری

                  که هر دو باورمان زاغاز به همدگر نرسیدن بود

                  چه سرنوشت غم انگیزی یست که کرم کوچک ابریشم

                  تمام عمر قفس میبافت ولی به فکر پریدن بود (مرحوم حسین منزوری)


                  از این دنیای بی احساس یه روز حقمو میگیرم !


                  [CENTER]

                  Comment

                  Working...
                  X