int PrimeFactor::getLargest()
{
	long long dividend = sqrt(mNumber);
	for (long long i = dividend; i >= 1; i--)
	{
		if ((mNumber % i) != 0)
		{
			continue;
		}
		if (isPrime(i) == true)
		{
			return i;
		}
	}

	return 1;
}
Beispiel #2
0
int main(int argc, char* argv[]){
	long i,n;
	n = 600851475143;
	for(i = ceil(sqrt(n) + 1); i >= 1; i--){
		if(isPrime(i)){
			if((n % i) == 0){
				printf("answer: %ld\n", i);
				return 0;
			}
		}
		if(i == 1){
			printf("answer: %ld\n", i);
			return 0;
		}
	}
	
}
Beispiel #3
0
void getLongestPeriod(int n, int& dMax, int& period) {
    dMax = 0;
    period = 0;
    int pL = 0;
    double result;
    for (int d = n; d > 2; d--) {
        if (!isPrime(d))
            continue;
        if (d < dMax)
            break;
        division(1, d, result, pL);
        if (pL > period) {
            period = pL;
            dMax = d;
        }
    }
}
Beispiel #4
0
int main(int argc, char const *argv[])
{	
	int count = 1;
	int sum = 2;
	int numToCheck = 1;
	while (count < 1000) 
	{
		if (isPrime(numToCheck))
		{
			sum += numToCheck;
			count++;
		}
		numToCheck++;
	}
	std::cout << sum << std::endl;
	return 0;
}
Beispiel #5
0
void phonyPrimes(int s,int e){
	prime_factorization(e);
	int num,pi,tmp,sq;
	for(num=s;num<=e;num++){
		if(isPrime(num)) 
			continue;
		sq = sqrt(num);
		int isPhony = 1;
		for(pi=0;pi<sq;pi++){
			tmp = primes[pi];
			if( num%(tmp*tmp) )
				continue;
			isPhony = 0;
		}
		if(isPhony) printf("%d\n", num);
	}
}
Beispiel #6
0
int main(void)
{
	int i = 3;
	unsigned long long sum = 2;
	while (i <= 2000000)
	{
	    if (isPrime(i))
    	    sum += i;
		if (i % 1001 == 0)
			printf("%d\n", i);

		i = i + 2;
	}

	printf("\n");
	printf("sum: %lld\n", sum);
}
Beispiel #7
0
int main ()
{
    int a;

    scanf("%d", %a);

    if (isPrime(a))
    {
        printf("It's prime.");

    }
    else
    {
     printf("It isn't prime.");
    }
    return 0;
}
Beispiel #8
0
int main()
{
    int lowerBound = 5, upperBound = 8, lcm=1;
    int i;
    for(i=1; i<=upperBound; i++){
        if(isPrime(i)==true){
            int tmp = i;
            if(tmp*tmp!=1){
                while(tmp*i<=upperBound && upperBound -(upperBound)%(tmp*i)>=lowerBound){
                    tmp=tmp*i;
                }
            }
            lcm = lcm * tmp;
        }
    }
    printf("The least common multiple of the numbers"
            " between %d and %d is %d", lowerBound, upperBound, lcm);
}
Beispiel #9
0
int main()
{
    int n = 0;

    printf("Input number: ");
    scanf("%d", &n);

    if (isPrime(n))
    {
        printf("Your number is prime.\n");
    }
    else
    {
    	printf("Your number is not prime.\n");
    }

    return 0;
}
int main() {
    int i,counter,ans;
    ans=0;
    counter=0;

    for (i=2; i<200000; i++) {
        if (isPrime(i)==1) {
            counter++;
            ans=i;
        }
        if (counter==10001) {
            break;
        }
    }

    printf("%dn",ans);
    return 0;
}
Beispiel #11
0
int primeCount(forward_list<int> lst)
{
    if(lst.empty()) //If list's size is 0, return 0;
    {
        return 0;
    }
    else if(isPrime(lst.front())) //If the number is prime, pop the front, add one, call the function again.
    {
        lst.pop_front();
        return 1 + primeCount(lst);
    }
    else //If it isn't prime, pop the front and call the function again.
    {
        lst.pop_front();
        return primeCount(lst);
    }
    
}
Beispiel #12
0
int main(void)
{
	/* initialize the hardware */
	led_init();
	systick_init();

    blink(2);
    systick_delayms(500);

	/* Loop forever */
    unsigned int i;
	for (i = 3; ; i+=2) {
        if (isPrime(i)) {
            blink(i);
            systick_delayms(500);
        }
	}
}
Beispiel #13
0
int main()
{
	int x = 2;
	int count = 0; // e.g. get the top 50 prime numbers
	// for (x = 2; x < 100; x++)
	// for (x = 2; count < 50; x++)
	while (count < 50)
	{
		if (isPrime(x))
		{
			count++;
			printf("%d ", x);
		}
		x++;
	}
	printf("\n");
    return 0;
}
Beispiel #14
0
uint64_t e007(){
    uint64_t n = 1000000, primes = 0, iprime = 10001;
    std::vector<bool> isPrime (n, true);


    for(uint64_t i = 2; i < n; ++i){
        if(isPrime[i]){
            primes++;
            if(primes == iprime) return i;

            for(uint64_t m = 2; m * i < n; ++m){
                isPrime[m*i] = false;
            }
        }
    }

    return 0;
}
Beispiel #15
0
int getNextPrimeFac(int *to_Factorize)
{
	if(*to_Factorize < 2)
		return -1;
	
	int i;
	
	for(i = 2; i <= *to_Factorize; i++)
	{
		if(isPrime(i) && (*to_Factorize % i) == 0)
		{
			*to_Factorize = *to_Factorize / i;
			return i;
		}
	}
	
	return -1;
}
Beispiel #16
0
void test()
{
    unsigned int numbers[] = {1,40,99,100,101,500,998,999,1000,1001};
    mpz_t n;
    mpz_init(n);
    for (int i = 0; i < 30; i++)
    {
        mpz_set_ui(n, i);
        printf("isPrime(%d)==%d\n", i, isPrime(n));
    }
    for (int i = 0; i < sizeof(numbers) / sizeof(numbers[0]); i++)
    {
        mpz_set_ui(n, numbers[i]);
        printf("isnumberLength(%d)==%d\n", numbers[i], numberLength(n));
    }
    mpz_set_ui(n, 3797); printf("isTruncatableRight(3797)==%d\n", isTruncatableRight(n));
    mpz_set_ui(n, 3797); printf("isTruncatableLeft(3797)==%d\n", isTruncatableLeft(n));
}
Beispiel #17
0
int main()
{
    int N, T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &N);
        if(N < 4)
            printf("%d\n", N);
        else if(isPrime(N))
            printf("%d\n", N);
        else if(N % 2 == 0)
        {
            if(isPrime(N-2))
                printf("2 %d\n", N-2);
            else
            {
                for(int k = 3; ; k += 2)
                {
                    if(isPrime(k) && isPrime(N-k))
                    {
                        printf("%d %d\n", k, N-k);
                        break;
                    }
                }
            }
        }
        else
        {
            if(isPrime(N-2))
                printf("2 %d\n", N-2);
            else
            {
                N-=3;
                for(int k = N-3; ; k -= 2)
                {
                    if(isPrime(k) && isPrime(N-k))
                    {
                        printf("3 %d %d\n", k, N-k);
                        break;
                    }
                }
            }
        }
    }
    return 0;
}
int main()
{
    long long sum = 0;
    long number = 2;

    while(number < 2000000)
    {
        if(isPrime(number))
        {
            printf("\n%ld", number);
            sum+=number;
        }
        number++;
    }


    return 0;
}
Beispiel #19
0
int main() {
    printf("%ld\n", INPUT);

    for (long int i=2; i<INPUT; i++) {
        //        printf("%ld, %ld\n", i, INPUT%i);
        if (INPUT % i == 0) {
            if (isPrime(INPUT/i)) {

                printf("%ld, prime is %ld\n", i, INPUT/i);
                break;
            }
        }

    }

    return 0;

}
Beispiel #20
0
int main () {

	int range = 10001;
	int prime;
	int i = 2;
	int p = 0;

	while (p < range) {
		if (isPrime(i)) {
			prime = i;
			p++;
		}
		i++;
	}
	printf("%i. Primzahl: %i\n", range, prime);

	return 0;
}
Beispiel #21
0
int generatePrimeNumberList(int capacity, int *primeNumbers) {
    int index = 1;
    int number = 3;
    int i = 0;
    if(primeNumbers == NULL)
       return 0;
    primeNumbers[0] = 2;
    while(index < capacity) {
        if(isPrime(i) == 1) {
            primeNumbers[index] = i;
            index++;
        
        }          
        i++;

    }

}
Beispiel #22
0
int fillArray(int arr[], int max, int x){
	int i, n, beginning = 0;
	if( x % 2 == 0 ) return 0;
	for(n = 0; n < max; n++){
		for( i = beginning; ;i++ ){
			if( isPrime(i) && i%10 == x ){
				beginning = i;
				break;
			}
		}
		arr[n] = beginning;
		#ifdef DEBUG
			printf("[DEBUG] arr[%d]=%d\n", n, beginning);	
		#endif
		beginning++;
	}
	return 1;
}
Beispiel #23
0
Datei: 3.c Projekt: danielng01/TP
int main()
{
	int x,y;
	scanf("%d",&x);
	scanf("%d",&y);
	int i;
	for(i=0;x<=y;x++)
	{
		i = x%10;
		if(i==3)
		{
			if(isPrime(x)==0)
			{
				printf("%d\n",x);
			}		
		}
	}	
}
Beispiel #24
0
int main(int argc, char *argv[]){
  FILE *file = fopen( argv[1], "r" );
  long long sum=0;
  long num,i;
  char len[20];

  fgets(len,10,file );
  num=atoi(len);

  for(i=2;i<=num;i++){
    if(isPrime(i)){
      sum+=i;
    }
  }
  printf("%llu\n",sum);
  fclose( file );
  return 0;
}
Beispiel #25
0
int main()
{
   int number;

   if (getNumber(&number) && number > 0)
   {
      if (isPrime(number)) 
         cout << "\n" << number << "is a prime number\n";
      else 
         cout << "\n" << number << "is not a prime number\n";
   }
   else
   {
      cout << "Invalid number entered\n";
   }

   return 0;
}
int findAnswer(int n)
{
	int x;
	if(n<5)
		return 0;
	if(isInt(sqrt(n-1)))
		return 1;
	if((n-1)%4==0 && isPrime(n)==1)
		return 1;
	for(x=1;x<n;x++)
	{
		if(isInt(sqrt(n*n-x*x)))
		{
			return 1;
		}
	}
	return 0;
}
Beispiel #27
0
void partitionPrimeCalc(int * part, int ind, int left)
{
  int val;
  if (left == 0)
    {
      printf("= ");
      printPartition(part, ind);
      return;
    }
  for (val = 1; val <= left; val++)
    {
      if (isPrime(val) < 3 && (val!= 1))
	{
          part[ind] = val;
          partitionPrimeCalc(part, ind + 1, left  - val);
	}
    }
}    
Beispiel #28
0
		// Constructor
		// Pre-condition: type ('g' or 'b') and crp ('d' or 'q') and loadFactor is provided
		//                filename is the location of a file that comply with the desired format
		// Post-condition: An hash-table with type and crp of size determined by capacity
		//                 and as many TableEntry inserted as possible;
    Hasher(char type, char crp, double loadFactor, char* filename)  
    {
						
			hashType = type;
			probeType = crp;
			load_factor = loadFactor;
			total_insert = 0;
			total_probe = 0;
			temp_probe = 0;
			is_full = false;
			total_elems = 0;
			
			int numLines = 0;
			std::ifstream infile(filename);
			std::string line;
			while(getline(infile, line)) 
			{
				numLines++;
			}
			infile.close();
			int capacity = numLines/load_factor;
			while (!isPrime(capacity))
			{
				capacity++;
			}

			TABLE_SIZE = capacity;
			table = (TableEntry**) malloc(this->TABLE_SIZE * sizeof(TableEntry*)); // ERROR-SOURCE
			for (int i = 0; i < TABLE_SIZE; i++)
		  {
				table[i] = NULL;
			}

			infile.open(filename);

			while (getline(infile, line))
			{
				std::string key = line.substr(0, 8);
				std::string num = line.substr(8, line.size());
				int value = atoi(num.c_str());
				insert(key, value);
				if (is_full) break;
			}
		}
Beispiel #29
0
int generatePrimeNumbers(long *m, long *n) {
    long maximum = *m > *n ? *m : *n;
    long *primeList = (long *)malloc(maximum * sizeof(long));
    long index = 1;
    long i = 3;
    primeList[0] = 2;
    while(index < maximum) {
        if (isPrime(i) == 1) {
            primeList[index] = i;
            index++;
            
        }
        i += 2; 
    }
    
    *m = primeList[*m - 1];
    *n = primeList[*n - 1];     
    free(primeList);
}
Beispiel #30
-1
int rightCheck(long long int n) {
    if (n < 10) {
        return 0;
    }
    int flag = 1;
    int tmp = 10;
    while (n/tmp > 0) {
        if (!isPrime(n/tmp)) {
            flag = 0;
            break;
        } else {
            tmp *= 10;
        }
    }

    return flag;
}