무식하게 소수 판별하는 방법


__int64 isPrime(__int64 n)

{

for(__int64 i=2;i<n;i++)

if(n%i==0)

return 0;

return 1;

}


__int64로하는 것은 큰 숫자 판별하기 위해서...

근데 사실 i7으로 돌려도 10개이상은 몇십분이상 걸린다...

그리고 그 이상으로 숫자가 커지면 기하급수적으로 시간이 걸림...

왜 암호화에서 소수를 사용하는지 알것만도 같다.

'Programming > C/C++' 카테고리의 다른 글

C++에서 복사생성자를 사용하는 이유.  (0) 2011.03.16

C++에서 복사생성자를 사용할때 주의 사항
 * 묵시적 변환
 만약,
class example{
private:
public:
  example(){}
};
void main()
{
  example a;
  example b=a;
}

라는 코드가 있을 때
example b=a;
라는 코드는
묵시적으로 example b(a);
라는 코드로 묵시적으로 변환.

(참고 이를 막기 위해 explicit라는 키워드가 존재. 묵시적 변환을 막으려면, 복사 생성자 함수 앞에 explicit를 넣어주면, 묵시적으로 변환하지 않음.)

=> 형식

class example{
private:
public:
  example(){}
  example(const example &a){}
};

요롷게 선언을 해주면 됨.
함수 오버로딩에 따라 클래스를 복사할경우, 클래스 하나를 다시 생성해줌.

'Programming > C/C++' 카테고리의 다른 글

무식하게 소수 판별 하는 방법  (0) 2013.07.29

+ Recent posts