Friday, December 16, 2011

Problem 8 (C++)

#include <iostream>
using namespace std;

int ctoi(char c)
{
        return c-48;
}

int main()
{
        int x = 0;
        char num[] = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450";
        int tmp;

        for(int a=0; a<1000; a++)
        {
                tmp = 1;
                for(int b=0; b<5; b++)
                {
                        tmp *= ctoi(num[a+b]);
                }
                if(tmp > x)
                {
                        x = tmp;
                }
        }

        cout << x;
        cin >> x;//pause
        return 0;
}

Sunday, June 19, 2011

Problem 7 (C++)

#include <iostream>
#include <math.h>
using namespace ::std;

bool isPrime(int p)
{
        bool result = true;

        for(int i=2; i<p; i++)
        {
                if(p % i == 0)
                {
                        result = false;
                        break;
                }
        }
 
        return result;
}

int main()
{
        int n = 2;
        int th = 10001;
        for(int i=0; i != th; n++)
        {
                if(isPrime(n) == true)
                {
                        i += 1;
                }
                if(i == th){break;}
        }

        cout << n;
        cin >> n;//pause
        return 0;
}

Tuesday, May 24, 2011

Problem 6 (C++)

#include <iostream>
using namespace ::std;

int main()
{
        int n = 100;
        double a = (2/3.0)*n*n*((n+1)/2.0) + (1/3.0)*n*((n+1)/2.0);
        double b = n*((n+1)/2.0) * n*((n+1)/2.0);
        double x = b - a;

        cout <<int(x);
        cin >> x;//pause
        return 0;
}

Thursday, May 19, 2011

Problem 5 (C++)

#include <iostream>
using namespace ::std;
int main()
{
        int primes[] = {2,3,5,7,11,13,17,19,23};//up to 22 numbers
        int n = 1;
        int temp;
        int nums = 20;

        for(int i=0; primes[i] <= nums; i++)
        {
                temp = 1;
                while(temp < nums)
                {
                        if(temp * primes[i] <= nums)
                        {
                                temp *= primes[i];
                        }
                        else {break;}
                }
                n *= temp;
        }
        cout << n;
        cin >> n;//pause
        return 0;
}

Monday, May 16, 2011

Problem 4 (C++)

#include <iostream>
#include <math.h>
using namespace ::std;

int isPalindromic(int num)
{
        bool result = false;
        int digits[10];
        int i;
        int tNum = num;
        int pali = 0;

        for(i=0; tNum>0; i++)
        {
                digits[i] = tNum%10;
                tNum /= 10;
        }
        i -= 1;

        for(int n=i; n>=0; n--)
        {
                pali += digits[n] * pow(10.0,i-n);
        }

        if(num == pali){result = true;}
        return  result;
}

int main()
{
        int pNum = 0;
        int a,b,temp;
        bool isPali = false;
        bool ab = true;
        for(a=999; a>0; a--)
        {
                for(b=999; b>0; b--)
                {
                        temp = a*b;
                        isPali = isPalindromic(temp);
                        if(isPali == true && temp > pNum)
                        {
                                pNum = temp;
                        }
                }
        }

        cout << pNum;
        cin >> pNum;//pause
        return 0;
}

Problem 3 (C++)

#include <iostream> 
using namespace ::std;  

int main() 
{
        double sum = 1;
        int i;
        for(i=2; sum != 600851475143; i++)
        {
                if(600851475143%i == 0)
                {
                        sum *= i;
                }
        }

        cout << i-1;
        cin >> sum;//pause
        return 0;
}

Sunday, May 15, 2011

Problem 2 (C++)

#include <iostream>
using namespace ::std;

int main()
{ 
        int a = 1;
        int b = 2;
        int c;
        int sum = 0;

        while(b < 4000000)
        {
                if(b%2 == 0)
                {
                        sum += b;
                }
                c = b;
                b += a;
                a = c;
        }

        cout << sum;
        cin >> sum;//pause
        return 0;
}