Sunday, March 15, 2015

(C Language) (ENG) Sum Square Difference - Project Euler Problem 6

PROBLEM

In this problem, you asked to find difference between "square of summation of first 100 natural numbers" and "summation fo squares of first 100 natural numbers".

For example from Project Euler:

The sum of the squares of the first ten natural numbers is,
12 + 22 + ... + 102 = 385

The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 10)2 = 552 = 3025

Difference: 3025 − 385 = 2640.



This c problem is taken by me from: (https://projecteuler.net/problem=6)


SAMPLE RUN:

In addition to problem, i printed result on the screen.




SOLUTION

You can copy codes below to your compiler to execute.




#include <stdio.h>

int main(void) //main function.
{

int sumOfSq = 0; //it will hold summation of squares.
int sqOfSum = 0; //it will hold square of summation.

for (int k = 1; k <= 100; k++) //this loop will finde summation of squares.
sumOfSq = sumOfSq + k * k;
for (int k = 1; k <= 100; k++) //this loop will find summation of first 100 natural numbers.
sqOfSum = sqOfSum + k;
sqOfSum = sqOfSum * sqOfSum; //this line will find square of summation.

printf("difference between summation of squares and square of summation is %d", sqOfSum - sumOfSq); //this line will find difference and print it on the screen.

return 0;
}

(C Language) (ENG) Smallest Multiple - Project Euler Problem 5

PROBLEM

For example 2520 is the smallest positive number which can be divided by integers from 1 to 10(included) with remainder '0'.

What is the smallest positive number which can be divided by integers from 1 to 20(included) then?

This c problem is taken by me from: (https://projecteuler.net/problem=5)

SAMPLE RUN:

In addition to problem, i printed result on the screen.




SOLUTION

You can copy codes below to your compiler to execute.




#include <stdio.h>

int main(void) //main function.
{

int spn = 20; //smallest positive number that mentioned.
int flag = 0; //we will use it to get out from loop or continue.
int counter = 0; //this counter will show program how many times spn was divided with remainder 0.

while(flag == 0)
{
spn++; //this code will update spn to check next value.
for (int k = 1; k <= 20; k++) //this loop will find if spn is divisible for all integers 20 >= x > 1 with 0 remainder.
{
if (spn % k == 0)
counter++;
else break;
}
if (counter == 20) //if it is true, it means that we find spn that I searched.
flag = 1;
counter = 0; //this code will turn counter to 0 to use it again.
}

printf("smallest positive number is %d", spn);

return 0;
}