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); }
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); } }
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; }
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; }
/* 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; }
// 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; } } }
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; }