|
|
![]() |
![]() |
|
|
|
|
||||
![]() |
|
|
|
برای تشکیل فهرست همه عددهای اول تا یک عدد صحیح مفروض n میتوان همه عددهای صحیح کوچکتر از n را به ترتیب نوشت، نخست همه آنهایی را که مضرب 2 هستند خط زده سپس همه آنهایی را در میان اعداد باقیمانده که مضرب 3 هستند خط زده و همینطور به حذف سپس همه آنهایی را در میان اعداد باقیمانده که مضرب 3 هستند خط زد، و همینطور به حذف اعداد مرکب ادامه داد تا هیچ عدد مرکبی باقی نماند. این فرایند که به «غربال اراتستن» معروف است، تمام عددهای اول تا n را مشخص میسازد. جدولهای کاملی از عددهای اول تا حدود 10000000 به تدریج به وسیله صورتهای ظریفتری از این روش تهیه شدهاند، و این جدولها توده عظیمی از دادههای تجربی درباره توزیع و ویژگیهای اعداد اول در اختیار ما میگذارند. براساس آنها میتوانیم حدسهای بسیار موجهی بزنیم (چنانکه گویی نظریه اعداد یک علم تجربی است) که اثبات آنها اغلب بسیار دشوار است.
الگوریتم غربال اراتستن در زبان c : /* Prime Number Sieve in C: main->p1->p2->p3->p4->...->p99 FILE *user; FILE *fopen(); /* main program to generate successive integers greater than 1*/ user=fopen("/dev/tty","w"); fprintf(user, "Use CTRL/C to stop me....\n"); while (1) p(1,integer++); /* C co-function to record a prime and sieve out its multiples from the input*/ /* restart */ static int QS100; /*assuming static data initially =0*/ if(n==99)return;/*'p99' is the end of the chain/pipeline.*/ primen=i; /*WAS scanf("%d", &prime);*/ fprintf(user,"%d is prime number %d\n",primen,n); while(1){ if (integern % primen ) } الگوریتم غربال اراتستن در زبان ++c : // Prime Number Sieve in C++ #include class Prime{ // A Prime is responsible for handling possible primes it is sent }; // end class Prime main() for( int n=3; n<=100; n++,n++) cout<<*first<<"\n"; همچنین ببینیدپیوندهای خارجیhttp://en.wikipedia.org/wiki/Eratosthenes%27_Sievehttp://tunes.org/HLL/examples/sieve.html |
|
|
صفحهی اول | دربارهی رشد | ارتباط با رشد | نقشهی رشد |
|
| آدرس: تهران، خيابان استاد نجاتاللهي، خيابان سپند شرقي، شماره 26، دفتر شبكه رشد. | ||