ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
/*** À̸§ ±úÁ³´Ù. DCÇÁ°¶::µð- ***/


// fastprime.cpp : Defines the entry point for the console application.
//

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <list>
#include <windows.h>

using namespace std;

int __cdecl main(int argc, char* argv[])
{
__int64 freq,pt,t;
QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
QueryPerformanceCounter((LARGE_INTEGER*)&pt);
list<int> primelist; // ¹ß°ßµÈ ¼Ò¼ö¸¦ ÀúÀå
primelist.push_back(2);
int end=atoi(argv[1]),lim;
bool prime;
list<int>::iterator it;
for(int lp=3;lp<=end;lp+=2)
{
lim=(int)sqrt(lp+1);
prime=true;
int temp;
for(it=primelist.begin();it!=primelist.end() && (temp=*it)<=lim;it++) // ¹ß°ßµÈ ¼Ò¼ö Áß sqrt(lp)º¸´Ù ÀÛÀº °É·Î¸¸ ³ª´²º»´Ù
{
if(lp%temp==0) // ³ª´²Áö¸é ¼Ò¼ö°¡ ¾Æ´ÏÁö
{
prime=false;
break;
}
}
if(lp%100000==1) printf("#");
if(!prime) continue;
primelist.push_back(lp);
}
printf("\n");
QueryPerformanceCounter((LARGE_INTEGER*)&t);
printf("operation time : %.3f ms\n",(t-pt)/(freq/1000.0f));
for(it=primelist.begin();it!=primelist.end();it++)
{
printf("%d ",*it);
}
return 0;
}
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.