Ejemplo n.º 1
0
int main()
{
	int start_s = clock();
	long long int num = 1;
	long long int i = 2;
	int divisors = 0;
	int max = 0;
	int maxN = 1;
	while (divisors <= 500)
	{
		divisors = numDivisors(num);
		if (divisors > max)
		{
			max = divisors;
			maxN = num;
			//std::cout << num << " has " << divisors << " divisors." << std::endl;
		}
		num += i;
		i++;
	}
	std::cout << maxN << std::endl;
	int stop_s = clock();
	std::cout << "time: " << (stop_s - start_s) / double(CLOCKS_PER_SEC) * 1000 << std::endl;
	while (1);
}
Ejemplo n.º 2
0
int triWithDivs(int target)
{
    int index, curtri, numdivs;
    
    index=1;
    curtri=0;
    while(numdivs <= target)
    {
        curtri = nextTri(index++, curtri);
        numdivs = numDivisors(curtri);
    }
    return curtri;
}
Ejemplo n.º 3
0
int main(int argc, char *argv[])
{
    int number = 0, i = 1;	//	number is triangle number, i is current term
    int sizeOfPrimes = 1000, sizeOfPrimesSqr = 1000000;
    int *primes;
    int numPrimes = sieve(sizeOfPrimes, &primes);

    while(numDivisors(number, primes, numPrimes) < 500) {
        if(sizeOfPrimesSqr < number) {	// Update if it becomes too small
            sizeOfPrimes *= 5;
            sizeOfPrimesSqr = sizeOfPrimes*sizeOfPrimes;
            numPrimes = sieve(sizeOfPrimes, &primes);
        }
        number += i++;					// Increment number
    }

    printf("Triangle number: %d\n", number);

    free(primes);

    return 0;
}
Ejemplo n.º 4
0
int main(int argc, char *argv[]) {

	int max = atoi(argv[1]);
	clock_t start, end;
	start = clock();

	int divnum = 0;
	int i = 2;
	unsigned long long triangle = 1;

	do {
		triangle += i;
		i++;
		divnum = numDivisors(triangle);
	} while (divnum <= max);

	end = clock();

	printf("The answer to problem 12 is %lld\n", triangle);
	printf("The answer took %f seconds to get\n", (double)(end - start) / 
		CLOCKS_PER_SEC);
}