تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: ساخت برنامه ای کوچولو

  1. #1
    داره خودمونی میشه amin.akmali's Avatar
    تاريخ عضويت
    Feb 2012
    پست ها
    21

    14 کمک کنید

    بچه ها سلام.من دانشجوی سال اول کامپیوترم. استاد به ما یه پروژه ای داده و من 2 ساعتع که دارم کار می کنم و چون هنوز تازه واردم نتونستم کاری کنم.لطفا بهم کمک کنید
    برنامه ای بنویسید که اعداد اول بین 1 تا 100 را چاپ کند.
    Last edited by amin.akmali; 28-02-2012 at 19:59.

  2. #2
    حـــــرفـه ای Arrowtic's Avatar
    تاريخ عضويت
    Jun 2009
    محل سكونت
    Westeros
    پست ها
    6,982

    پيش فرض

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

  3. #3
    داره خودمونی میشه amin.akmali's Avatar
    تاريخ عضويت
    Feb 2012
    پست ها
    21

    پيش فرض

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

  4. #4
    حـــــرفـه ای Arrowtic's Avatar
    تاريخ عضويت
    Jun 2009
    محل سكونت
    Westeros
    پست ها
    6,982

    پيش فرض

    البته:
    ببینید ما میدونیم هر عدد اولی تعداد مقسوم علیه هاش 2 باید باشه دیگه.چون بر خودش و 1 بخش پذیره.برا همین اومدیم گفتیم اعداد 1 تا 100 رو بگیره و برای هر کدوم دوباره از یک تا اون عدد رو بگیره و بخش پذیری عدد رو بر اونها(اعداد کوچکتر مساوی خودش) چک کنه(باقیمانده تقسیم بر اونها رو بدست میاره اگه صفر بود یعنی بخش پذیر).اگه بخش پذیر بودش یدونه به متغیر b اضافه کنه.مسلمه هر عددی که b براش بشه 2 یعنی 2 مقسوم علیه داره و حتما اون 2 مقسوم علیه 1 و خودشن.بعد از حساب کردن b برای یه عدد یه شرط گذاشتیم که اگه b 2 میشد اون عددو چاپ کنه.پس ظاهرا درسته ولی فقط یه مشکل داره تا اینجا اونم اینه یه بار برای i ما که 1 باشه که حساب کنه b برابر 1 در میاد.بعد که سراغ 2 میره b همچنان 1 هستش و 2 رو به اشتباه دارای 3 مقسوم علیه نشون میده.(1 مقسوم علیه از 1 مونده 2 تا هم واسه خودش) و به همین ترتیب هی b زیاد میشه و مثلا برای 3 فکر کنم 5 تا مقسوم علیه در نظر گرفته میشه که غلطه پس در نتیجه ما باید کاری کنیم که برای هر i متغیر b رو از صفر در نظر بگیره برای همینم وقتی که خوب کارشو با b کردش برنامه قبل از اتمام حلقه یه b=0 میذاریم و اینطوری وقتی b برای 1 شدش 1 بعد که سراغ 2 میره b دوباره میشه 0 و بعد که سراغ 3 میره(i=3) متغیر b=0 میشه دوباره و الی آخر و مشکل برطرف میشه.پس تو یک جمع بندی کلی:
    1)شروع
    2)b=0
    3) برای i=1 تا 100:
    1.3)برای j=1 تا i:
    1.1.3)باقیمانده i بر j را حساب کن.اگر باقیمانده صفر بود به b یک واحد اضافه کن.
    2.3)اگر b=2بود i را چاپ کن.
    3.3)متغیر bرا برابر صفر قرار بده.
    4)پایان

    P.S:اون % همون طور که میدونید علامت حساب کردن باقیمانده هستش.
    P.S2:البته راهای دیگه ایم هست مثلا جای حساب کردن تعداد مقسوم علیه ها میتونیم مجموع مقسوم علیه ها رو به دست بیاریم برا هر عدد چرا که میدونیم اگر a عددی اول باشد مجموع مقسوم علیه هاش a+1 هستش.

  5. #5
    کـاربـر بـاسـابـقـه god of war 2's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    585

    پيش فرض

    یه نکته ای که وجود داره اینه که لازم نیست عمل تقسیم رو روی تمام اعداد تا خود عدد انجام بدید فقط کافی تا عدد "n/2" اینکار انجام بشه.
    یعنی مثلا برای آزمایش عدد 19 عمل تقسیم تا عدد 9 انجام بشه کافی هست.
    برای مثال کد زیر(البته این کد اعداد 1 تا 3 رو چاپ نمیکنه ولی میتونید این اعداد رو خودتون اضافه کنید):
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این کد به مراتب سرعت اجرای بیشتری نسبت به کد دوستمون Arrowtic داره البته چنین چیزی در چنین برنامه ای اصلا مهم نیست ولی گفتنش هم خالی از لطف نیست.
    Last edited by god of war 2; 01-03-2012 at 18:57.

  6. 2 کاربر از god of war 2 بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •