Skip to content

Instantly share code, notes, and snippets.

/*
* 1e6: 0.036s
* 1e7: 0.291s
* 1e8: 3.358s
* 1e9: 49.636s
*/
#include <iostream>
#include <vector>
#include <algorithm>
@qddddr
qddddr / 358.c
Last active December 24, 2015 13:29
/*
* Project Euler - Problem 358
*/
#include <stdio.h>
#include <inttypes.h>
int main(void)
{
const uint32_t p = 729809891;
#include <stdio.h>
#include <stdbool.h>
#include <inttypes.h>
#include <math.h>
bool is_prime(uint64_t x)
{
for (uint32_t i = 2, root = sqrt(x); i <= root; i++) {
if (x % i == 0) return false;
}
/*
* Project Euler - Problem 417
*/
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <cinttypes>
#include <omp.h>
/*
* Project Euler - Problem 437 (Brute forcing)
*/
#include <iostream>
#include <vector>
#include <cmath>
#include <cinttypes>
#include <omp.h>
/*
* N = 1e4 => 0.049s
* N = 1e5 => 3.890s
*/
#include <iostream>
#include <cinttypes>
#include <omp.h>
const uint32_t N = 1e5;
/*
* Project Euler - Problem 433
* A parallelized brute force approach.
*
* N = 1e4 => 0.030s
* N = 1e5 => 1.941s
* N = 1e6 => 196.731s | 3m16.731s
* N = 5e6 => 4987.348s | 83m07.348s
*/
@qddddr
qddddr / 229.cpp
Last active December 23, 2015 15:39
/*
* Project Euler - Problem 229
* A simple brute force approach.
*/
#include <iostream>
#include <vector>
#include <cinttypes>
uint64_t solve(uint64_t N)
#include <iostream>
#include <cinttypes>
const uint32_t N = 5e6;
uint64_t coefs[N+1];
void solve(uint32_t a, uint32_t b)
{
static uint32_t e = 1;
/*
* N = 1e2 => 0.002s
* N = 1e3 => 0.006s
* N = 1e4 => 0.138s
* N = 1e5 => 14.350s
*/
#include <iostream>
#include <cinttypes>