Example #1
0
void *look_for_min(void *threadid){
    
    long tid;
    tid = (long) threadid;
    
    long start, end;
    long j, k;
    
    start = tid*M/NUM_THREADS + 1;
    end = start + M/NUM_THREADS -1;

    for(j=start; j<end; j++){
        long sum = 0, differences = 0;
        for(k=j+1; k<M; k++){
            sum = formula(j) + formula(k);
            differences = formula(k) - formula(j);
            if(is_pentagonal(sum) && is_pentagonal(differences))
                if(sum - differences <= minD){
                    pthread_mutex_lock(&mutex1);
                    minD = sum - differences;
                    pthread_mutex_unlock(&mutex1);
                }
        }
        
        //printf("%d\n", formula(i));
    }
    printf("%d\n", minD);
    pthread_exit(NULL);
}
Example #2
0
void fn0() {
  std::vector<int> nums { 1 };
  for (int i = 2; ; i++) {
    int pk = pn(i);
    for (int pj: nums) {
      if (is_pentagonal(pj + pk) && is_pentagonal(pk - pj)) {
        std::cout << std::abs(pk - pj) << std::endl;
        return;
      }
    }
    nums.push_back(pk);
  }
}
Example #3
0
int main() {
	int i, j;
	int vi, vj;
	for (i=2;;++i)
	for (j=1;j<i;++j) {
		vi = (i * (3*i-1)) / 2;
		vj = (j * (3*j-1)) / 2;
		if (is_pentagonal(vi+vj) && is_pentagonal(vi-vj)) {
			printf("%d\n", vi-vj);
			return 0;
		}
	}
	return 0;
}
Example #4
0
int main(void){
	clock_t ini = clock();
	for(int k = 286; !ans; ++k){
		long long a = k, x = 2 * a * a - a;
		if(is_pentagonal(x) && is_triangle(x)) ans = x;
	}
	printf("Time spent: %.3lfs\n", ((double)(clock() - ini))/CLOCKS_PER_SEC);
	printf("Answer: %lld\n", ans);
	return 0;
}
Example #5
0
/* this program may take a few seconds */
int main(void)
{
  unsigned i, j;
  unsigned min = UINT_MAX;
  for (i = 1; i < N; i++) {
    for (j = i; j < N; j++) {
      unsigned k = pentagonal(i);
      unsigned l = pentagonal(j);
      if (is_pentagonal(k+l) && is_pentagonal(l-k)) {
        if (l-k < min) {
          min = l-k;
        }
      }
    }
  }
  printf("%u\n", min);

  return 0;
}
Example #6
0
// test if is_triangle always returns expected results
// as i'm always weary when working with floating points
void test_is_pentagonal() {
  for (int n = 1; n < 100000; n++) {
    int x = pn(n);
    if (x < 0) {
      break; // we've gone too far!
    }
    if (!is_pentagonal(x)) {
      std::cout << "FAILED TEST: " << x << " is t" << n << " but returned not pentagonal" << std::endl;
    }
  }
}
Example #7
0
int print_properties_num(longnum num)
{
	printf("%llu:\nprime factors: ", num);
	print_prime_factors(num);
	printf("\n");

	if ( is_abundant(num) ) printf(" abundant");
	if ( is_amicable(num) ) printf(" amicable");
	if ( is_apocalyptic_power(num) ) printf(" apocalyptic_power");
	if ( is_aspiring(num) ) printf(" aspiring");
	if ( is_automorphic(num) ) printf(" automorphic");
	if ( is_cake(num) ) printf(" cake");
	if ( is_carmichael(num) ) printf(" carmichael");
	if ( is_catalan(num) ) printf(" catalan");
	if ( is_composite(num) ) printf(" composite");
	if ( is_compositorial(num) ) printf(" compositorial");
	if ( is_cube(num) ) printf(" cube");
	if ( is_deficient(num) ) printf(" deficient");
	if ( is_easy_to_remember(num) ) printf(" easy_to_remember");
	if ( is_ecci1(num) ) printf(" ecci1");
	if ( is_ecci2(num) ) printf(" ecci2");
	if ( is_even(num) ) printf(" even");
	if ( is_evil(num) ) printf(" evil");
	if ( is_factorial(num) ) printf(" factorial");
	if ( is_fermat(num) ) printf(" fermat");
	if ( is_fibonacci(num) ) printf(" fibonacci");
	if ( is_google(num) ) printf(" google");
	if ( is_happy(num) ) printf(" happy");
	if ( is_hungry(num) ) printf(" hungry");
	if ( is_hypotenuse(num) ) printf(" hypotenuse");
	if ( is_lazy_caterer(num) ) printf(" lazy_caterer");
	if ( is_lucky(num) ) printf(" lucky");
	if ( is_mersenne_prime(num) ) printf(" mersenne_prime");
	if ( is_mersenne(num) ) printf(" mersenne");
	if ( is_narcissistic(num) ) printf(" narcissistic");
	if ( is_odd(num) ) printf(" odd");
	if ( is_odious(num) ) printf(" odious");
	if ( is_palindrome(num) ) printf(" palindrome");
	if ( is_palindromic_prime(num) ) printf(" palindromic_prime");
	if ( is_parasite(num) ) printf(" parasite");
	if ( is_pentagonal(num) ) printf(" pentagonal");
	if ( is_perfect(num) ) printf(" perfect");
	if ( is_persistent(num) ) printf(" persistent");
	if ( is_power_of_2(num) ) printf(" power_of_2");
	if ( is_powerful(num) ) printf(" powerful");
	if ( is_practical(num) ) printf(" practical");
	if ( is_prime(num) ) printf(" prime");
	if ( is_primorial(num) ) printf(" primorial");
	if ( is_product_perfect(num) ) printf(" product_perfect");
	if ( is_pronic(num) ) printf(" pronic");
	if ( is_repdigit(num) ) printf(" repdigit");
	if ( is_repunit(num) ) printf(" repunit");
	if ( is_smith(num) ) printf(" smith");
	if ( is_sociable(num) ) printf(" sociable");
	if ( is_square_free(num) ) printf(" square_free");
	if ( is_square(num) ) printf(" square");
	if ( is_tetrahedral(num) ) printf(" tetrahedral");
	if ( is_triangular(num) ) printf(" triangular");
	if ( is_twin(num) ) printf(" twin");
	if ( is_ulam(num) ) printf(" ulam");
	if ( is_undulating(num) ) printf(" undulating");
	if ( is_untouchable(num) ) printf(" untouchable");
	if ( is_vampire(num) ) printf(" vampire");
	if ( is_weird(num) ) printf(" weird");

	printf("\n\n");
	return 0;
}