Science For Free

انسان ها باید به جایی رسیده باشند که علم را به رایگان در اختیار همدیگر قرار دهند

Science For Free

انسان ها باید به جایی رسیده باشند که علم را به رایگان در اختیار همدیگر قرار دهند

سرور مجازی شماره مجازی آسان و ارزان
Science For Free

در این سایت مطالب و فایل هایی میگذارم که امیدوارم براتون مفید باشه. لطفا نظراتتون رو برای ما ارسال کنید.

سرور مجازی ایران

finding biggest prime factor

جمعه, ۶ ارديبهشت ۱۳۹۲، ۰۲:۲۰ ب.ظ

Check out the following question:

-------------------------------------------------------

Prime factors of 40 are 2,5.

Find the biggest prime factor of 600851475143. 

-------------------------------------------------------------------

I wrote the following code in C but it does not work. Please share your ideas.

/* Program To calculate largest prime factor of  600851475143
*    working simultaneously with long and double types is hard. this number
*     doesn't fit in a long type variable. so we have to take another measure.
*     maybe creating prime numbers and storing them in an array will be better.
*/

#include<stdio.h>
#include<math.h>


int IsPrime(unsigned long num)
{
    int index;
    int count=0; /* num itself and number One is not counted, so count==0 after loop determines answer*/
    /* index from num/2 because a numbers factors are not bigger than its half*/
    for(index=sqrt(num);index>1;index--)
        if(num%index==0) count++;
    return count==0?1:0;
}
   
   

int main()
{
    const  double LargeNum=600851475143;
    int largestPrimeFactor;
    unsigned long i;
    printf("LargeNum: %f",LargeNum);
    /* double sqrtLargeNum=sqrt(LargeNum);
    printf("sqrt: %f\n",sqrtLargeNum);
    */
    printf("long i: %u",i);
    for(i=LargeNum/2;i>1;i--)
//        if(LargeNum%i==0) /* Is i a factor? */
            if(IsPrime(i)){     /* Is i a prime? */
                largestPrimeFactor=i;
                break;
            }
           
       
    printf("Largest Prime Factor: %d\n",largestPrimeFactor);
   
   
    return 0;
}   

  • مدیر سایت

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
سرور مجازی ایران
سرور مجازی