Ejemplo n.º 1
0
inline
long long int NWD(long long int a, long long int b)
{
    if(a < b)
        return NWD(b, a);

    if(!b)
        return a;

    return NWD(b, a % b);
}
Ejemplo n.º 2
0
long NWD(long a, long b) {
    if (a % b == 0) {
        return b;
    } else {
        return NWD(b, a % b);
    }
}
Ejemplo n.º 3
0
void factorize(long n) {

    srand(time(NULL));
    long randomed = rand() % n;
    //printf("%d\n", randomed);

//	printf("%d --- %d\n", n, randomed);
    if (NWD(n, randomed) > 1) {
        printf("%d --- %d\n", n, NWD(n, randomed));
    } else {
        long r = solveDL(randomed, n);
        if (r == -1) {
            factorize(n);
        } else if (r % 2 == 0) {
            if (NWD(n, potega(randomed, r / 2) + 1) > 1) {
                printf("%d --- %d\n", n, (NWD(n, potega(randomed, r / 2) + 1)));
                cout << n << "---" << NWD(n, potega(randomed, r / 2) + 1) << endl;
            } else if (NWD(n, potega(randomed, r / 2) - 1) > 1) {
                printf("%d --- %d\n", n,(NWD(n, potega(randomed, r / 2) - 1)));
            } else {
                factorize(n);
            }
        } else {
            factorize(n);
        }
    }

}
Ejemplo n.º 4
0
int main() {

	scanf("%d", &n);
	while (n--) {
		scanf("%d%d", &x, &y);
		printf("%Ld\n", NWD(x, y));
	}

	return 0;
}
Fraction::Fraction(const long& numerator_, const long& denominator_)
{
    assert(denominator_ != 0);
    long a = std::abs(numerator_);
    long b = std::abs(denominator_);
    long x = NWD(a, b);

    if (denominator_ < 0) a = -a;

    numerator = a / x;
    denominator = b / x;
}
Ejemplo n.º 6
0
int main()
{
 int a, b;
  int nwd;
  cout<<"podaj 1 liczbe"<<endl;
  cin>>a;
  cout<<"podaj 2 liczbe:"<<endl;
  cin>>b;
   nwd=NWD(a,b);
   cout<<"\nnajwiekszy wspolny dzielnik 2 licb wynosi :  "<<nwd<<endl; 
    
system("pause");
}
Ejemplo n.º 7
0
inline
bool check(long long int i, long long int j)
{
    long long int nwd = NWD(i, j);
    return !(nwd & (nwd - 1));
}
Ejemplo n.º 8
0
long long int NWD(long long int x, long long int y)
{
	if (y == 0) return x;
	return NWD(y, x % y);
}