اطلاعیه

Collapse
No announcement yet.

مشکل در تشخیص عدد اول

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در تشخیص عدد اول

    سلام دوستان. من میخواستم برنامه ای به زبان C بنویسم که بتونه اعداد اول رو تشخیص بده. این کارو با کمی جستجو تونستم انجام بدم ولی یه مشکلی دارم و اونم اینه که واسم محدودیت به وجود اومده و او ن محدودیت هم به خاطر تابع sqrt() . l . مشکل به این صورته که وقتی مقدار آرگومان sqrt رو بیشتر از حدوداً 5 میلیون میدم برنامه قاطی میکنه error رو میده. البته برنامه رو تو توربو c اجرا میکنم. ولی همین برنامه ( با کمی تغیر تو توابع) دارم تو ویژال C اجرا میکنم error نمیده. ولی چون نمیدونیم اعدادمون کدوماش اوله تو درستی برنامم شک میکنم.
    اصلاً یه نگاهی به برنامه بکنین ببینین درسته یا نه؟؟

    کد:
    [left]
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    
    void main()
    {
    int x;
    int m,i;
    clrscr();
    
    printf("plese insert your number: ");
    scanf("%d",&x);
    if(x==0) break;
    m=sqrt(x);
    for(i=2;i<=m;i++){
    	if(x%i==0) break;
    }
    if(i==m+1){
    	printf("add aval ast\n\n");
    }else{
    printf("add aval nist\n\n");
    }
    getch();
    
    }
    [/left]




    #2
    پاسخ : مشکل در تشخیص عدد اول

    سلام حمیدجون
    من برنامه ای که خودم نوشتم رو بهت میدم ببین چه خبره.
    البته اگه یه کم تو تاپیک C میگشتی پیداش میکردی ولی خوب من اونو با سورسش برات اپلود کردم
    لینک :  ویرایش شد. به پست پایینتر مراجعه کنید.
    این برنامه یه عدد رو می گیره  و اعداد اول زیرشو نمایش میده.(میتونه توفایلم ذخیره کنه)
    سرعتشم خوبه. مثلا با لپتاپم زیر 1000000 رو تو 1 ثانیه محاسبه و ذخیره می کنه.
    موفق باشی.
    Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

    دیدگاه


      #3
      پاسخ : مشکل در تشخیص عدد اول

      ممنون آقای بابا زاده.

      من اجراش کردم و خیلی عالی بود. فقط تو تحلیل برنامش مشکل پیدا کردم. اول اینکه با چه کامپایلری نوشته شده؟ تا من اونو نصب منم و باهاش کار کنم.

      دیدگاه


        #4
        پاسخ : مشکل در تشخیص عدد اول

        سلام.
        این برنامه به زبان ++C نوشته شده. می تونید از کامپایلر Borland C++ 5.XX یا هر ورژن دیگه ای استفاده کنید.

        دیدگاه


          #5
          پاسخ : مشکل در تشخیص عدد اول

          سلام دوستان
          حمیدجون من از Dev-CPP استفاده کردم.
          موفق باشی.
          Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

          دیدگاه


            #6
            پاسخ : مشکل در تشخیص عدد اول

            سلام من ورژن جدیدشو گذاشتم. توش از یه الگوریتم دیگه استفاده کردم. برنامه وحشی شد.
            قبلا زیر 10 میلیون رو تو 30 ثانیه سیو میکرد الان شد 7 ثانیه. زیر یک میلیون که یک ثانیه هم نمیشه.
            اینم لینکشه :   DownloadLink: http://rapidshare.com/files/167776074/PRIME_.rar
            البته لینک بالا رو هم ویرایش کردم همین فایلو گذاشتم.
            Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

            دیدگاه


              #7
              پاسخ : مشکل در تشخیص عدد اول

              سلام راستی دوستان اگه کسی الگوریتم بهینه تری داره به ما هم یاد بده ممنون میشم.
              Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

              دیدگاه

              لطفا صبر کنید...
              X