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

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




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 16

نام تاپيک: عددای اول زیر 1000

  1. #1
    پروفشنال Samba's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    in 313
    پست ها
    901

    پيش فرض عددای اول زیر 1000

    با سلام

    من هر چی می کنم نمیفهمم چطور عددای اول زیر 1000 رو بدست بیارم

    اگه کسی میگه با آموزش و توضیح خوب بده

    با تشکر

  2. #2
    اگه نباشه جاش خالی می مونه بهرام_62's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    343

    پيش فرض

    سلام
    اتفاقا من یک برنامه برای این نوشتم
    الان برات آپلود می کنم
    به کد ها خوب دقت کن
    اگر نفهمیدی بگو برات توضیح بزارم
    البته توی سیستم خونه ندارمش
    توی کامپیوتر سر کاره
    شنبه برات می آپم
    اگر وقت نداری تا شنبه یک توضیح تقریبی بهت می دم خودت بنویس:

    ببین من دو تا تکس باکس گذاشتم
    یکی با برچسب"از عدد"
    یکی هم با برچسب "تا عدد"
    بعد اعداد رو طرف می زنه و اعداد اول بین این دو عدد رو برنامه بهش میده
    البته اگر مثلا بزنی از عدد 0 تا 100000 اعداد اول رو در بیار حدود 30 ثانیه ای طول می کشه
    برای نوشتن این برنامه:
    فرض کن اسم تکس اولی a و اسم تکس دومی b هست
    یک حلقه for می زاریم از a تا b
    بعد توی این حلقه یک حلقه دیگه می زاریم از 2 تا i (متغیر حلقه اوی)
    بعد داخل این حلقه تست می کنیم که آیا i بر هر کدوم از اعداد حلقه بخش پذیره یا نه
    آخر حلقه اگر بر هیچ کدوم بخش پذیر نبود بعد توی لیست باکس اضافش می کنیم
    به همین راحتی
    البته اگه الان این کد رو بزاری چندین تا مشکل می خوری
    مثلا این عدد بر خودش بخش پذیره و بنابراین هیچ عددی رو اول تشخیص نمیده
    و چندین تای دیگه که الان دقیقا یادم نیست
    و چند تا ریزه کاری هم برای بالا بردن سرعت کار داره
    که یکیش اینه که اعداد زوج رو الکی تست نکنه چون صد در صد اول نیستن
    و
    و
    و
    که الان خوب یادم نیست
    برای همین اگر تا شنبه صبر کنی برات خود برنامه رو می زارم
    تازه یک کد دیگه هم برای برنامه نوشتم که مقسوم علیه های یک عدد رو لیست می کنه
    و می خوام توسعش بده که ب.م.م و ک.م.م دو عدد رو هم بگیره

  3. #3
    آخر فروم باز bersam's Avatar
    تاريخ عضويت
    Jul 2007
    محل سكونت
    .: نصف ورلد :.
    پست ها
    2,561

    پيش فرض

    من دو سال پیش یه فرمولی بدست اوردم اعداد اول زیر 100 رو طبق یه قانون خاص در می آورد ! ولی بعد از 100 جوابش دیگه درست در نمی اومد !!!

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

    ولی باید بشینم دوباره از اول پیداش کنم !!!!

  4. #4
    داره خودمونی میشه شکمو's Avatar
    تاريخ عضويت
    Apr 2008
    پست ها
    166

    پيش فرض

    بیا عزیزم اینم کدش:

    Dim sum As Integer
    For i = 1 To 1000
    sum = 0
    For j = 1 To i
    If i Mod j = 0 Then sum = sum + 1
    Next j
    If sum = 2 Then Label1.Caption = Label1.Caption & " " & i
    Next i


    label1 خروجی هست و طرز کارش این طوره که :

    یه for از یک تا 1000 می شماره (for اول) for دوم هم از یک تا i و داخل for این اتفاق میفته:

    مثلا i = 5 شده

    for دوم از 1 تا 5 می شماره و در مرحله ی اول i=1 است و j=1
    باقیمانده ی i تقسیم بر j رو حساب میکنه که اگر مساوی صفر شد یک عدد به متغیر sum اضافه میکنه و این حلقه تا آخر یعنی 5 میره و اگر sum = 2 شد اون عدد یعنی i که 5 هست رو به label1 اضافه میکنه.

    عدد اول عددی هست که به خودش و یک بخش پذیر باشه یعنی دو عدد پس هروقت sum =2 شد اون رو عدد اول حساب میکنه و به label1 اضافه میکنه.

    اگه سوالی بود در خدمتم.

    موفق باشی.

  5. این کاربر از شکمو بخاطر این مطلب مفید تشکر کرده است


  6. #5
    آخر فروم باز bersam's Avatar
    تاريخ عضويت
    Jul 2007
    محل سكونت
    .: نصف ورلد :.
    پست ها
    2,561

    پيش فرض

    یه سوال !! چه طوری یک رو برداشتی ؟؟؟ چون که 1 عدد اول نیست ! ولی 1 تقسیم بر 1 مساوی 0 میشه ! و طبق برنامه باید 1 رو هم بنویسه ؟
    Last edited by bersam; 30-10-2008 at 21:30.

  7. #6
    اگه نباشه جاش خالی می مونه بهرام_62's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    343

    پيش فرض

    یه سوال !! چه طوری یک رو برداشتی ؟؟؟ چون که 1 عدد اول نیست ! ولی 1 تقسیم بر 1 مساوی 0 میشه ! و طبق برنامه باید 1 رو هم بنویسه ؟
    سلام
    اولا یک تقسیم بر یک میشه 1 نه صفر
    ولی یکی مود یک میشه صفر
    اگر به کدی که این دوست عزیز نوشتن دقت کنی می بینی که اگر عدد مربوطه بر دو عدد یعنی یک و خودش بخش پذیر باشه میاد توی لیست
    ولی یک فقط بر خودش که همون یکه بخش پذیره
    البته فکر کنم اینجوری باشه
    ___________________________
    Dim sum As Integer
    For i = 1 To 1000
    sum = 0
    For j = 1 To i
    If i Mod j = 0 Then sum = sum + 1
    Next j
    If sum = 2 Then Label1.Caption = Label1.Caption & " " & i
    Next i
    خیلی برام جالب بود
    ایول من کلی کد برای یک همچین کاری نوشتم
    ولی شما با این کد چند خطه حلش کردی
    البته اگر توی یک لیست باکس اضافه بشه خیلی قشنگ تر در میاد
    البته من عذر خواهی می کنم
    چون بعضا دیدم اینجا همه زود بهشون بر می خوره
    مخصوصا وقتی درباره برنامشون نظری میدی
    البته تو که ایشالله اینجوری نیستی

  8. #7
    داره خودمونی میشه شکمو's Avatar
    تاريخ عضويت
    Apr 2008
    پست ها
    166

    پيش فرض

    نه اتفاقا خوشحال شدم نظر دادین.

    موفق باشید.

  9. #8
    اگه نباشه جاش خالی می مونه بهرام_62's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    343

    پيش فرض

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

  10. #9
    پروفشنال Samba's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    in 313
    پست ها
    901

    پيش فرض

    خيلي ممنون

    از اينكه مي بينم انجمن كاربراي فعال زياد داره

    دست همتون درد نكنه

    موفق باشيد

  11. #10
    پروفشنال Samba's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    in 313
    پست ها
    901

    پيش فرض

    راستي نمي تونيم عدداي بيشتر از 1000 رو به دست بيازيم يا نه؟؟؟؟؟

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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