int main(){ int i, numUnique = 0, b, a; short uniqueNum[10000][30] = {{0}}; short basePrimeFactor[30] = {0}, curr[30] = {0}; genPrimes(); for (a = 2; a <= 100; a++){ memset(basePrimeFactor, 0, sizeof(short)*30); factorize(a, basePrimeFactor); for (b = 2; b <= 100; b++){ for (i = 0; i < 30; i++){ curr[i] = basePrimeFactor[i]*b; } if (!isDuplicate(curr, uniqueNum, numUnique)){ memcpy(uniqueNum[numUnique], curr, sizeof(short)*30); numUnique++; } } } printf("%d\n", numUnique); return 0; }
int main(){ int i, j, k, m; int permutations[4*3*2] = {0}; int currDiff; genPrimes(); for (i = 1001; i < 10000; i += 2){ if (primes[i]){ permutations[0] = i; genPerms(permutations); /*only prime perms*/ for (j = 0; permutations[j+2] && j < (4*3*2); j++){ for (k = j+1; permutations[k+1] && k < (4*3*2); k++){ currDiff = permutations[k] - permutations[j]; for (m = k+1; permutations[m] && m < (4*3*2); m++){ if (permutations[m] == permutations[k] + currDiff){ printf("%d%d%d\n", permutations[j], permutations[k], permutations[m]); return 0; } } } } for (j = 0; permutations[j] && j < 4*3*2; j++){ primes[j] = 0; } } memset(permutations, 0, 4*3*2*sizeof(int)); } return -1; }
int main( int argc, char** argv){ primeset* ps = psInit(); FILE* output = NULL; if(argc>1){ output = fopen(argv[1], "w+"); } genPrimes(ps, 1000000000000, output); psDump(ps, 1); }
int primesDecomposition(int n) { if(n < 3){ return -1; } std::vector<int> primes; genPrimes(n, primes); std::vector<int> numbers; int from = 0; primesDecomposition(n, numbers, from, primes); }
int main(void) { unsigned long n; scanf("%lu", &n); genPrimes(n); unsigned long max = 1; unsigned long ans = 1; for(unsigned long i=1; i<=n; i++) { unsigned long divisors = factorize(i); //printf("%lu has %lu divisors\n", i, divisors); if(divisors > max) { max = divisors; ans = i; } } printf("%lu\n", ans); return 0; }
int main(int argc, char** argv) { genPrimes(); for (int i = 1; i < 10000000; i++){ cout << totDivisors(i) << " " << i << endl; } }