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;
}

Problem 1 (C++)

#include <iostream>
using namespace std;

int main()
{ 
        int sum = 0;
        int i1 = 999/5;
        int i2 = 999/3;
        int i3 = 999/15;

        for(int i=1; i <= i1; i++)
        {
                sum += 5*i;
        }
        for(int i=1; i <= i2; i++)
        {
                sum += 3*i;
        }
        for(int i=1; i <= i3; i++)
        {
                sum -= 15*i;
        }

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

Introduction

I decided to join "Project Euler", and to open a blog to document my progress and codes.
I solve the problems by myself. I find it very challanging and fun :)