씨그마 아 아니.. 컴퓨터가 문제를 풀게 해보자!

IT/Project Euler2017. 7. 24. 23:28

안녕 친구들? 오늘도 어김없이 찾아와서 쓰잘데기 없는 글을 쓸라고 해


친구들은 컴퓨터를 무슨 용도로 사용하고 있어? 옛날에는 Compute하는 기계로 사용했을거야.


그래 오늘은 컴퓨터의 본 용도인 계산을 시켜보자!


오늘 풀어볼 문제는 오일러 프로젝트 1번 문제야!


1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까?


물론 손으로 풀어서 구할 수도 있지!


하지만 언제 이 계산을 하고 있을까?


이제 우리 컴퓨터를 게임하는데에만 사용하지말고 문제를 풀게 만들자!


우선 제일 대중적인 C언어를 이용해서 풀어보자!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main(void)
{
    int num=1000
    int i=0;
    int sum=0;
    for(i=1; i<num; i++)
    {
        if(i % ==|| i % ==0)
        {
            sum=sum+i;
        }
    }
    printf("sum : %d", sum);
    return 0;
}
cs




앞 부분은 계산을 위한 정수들을 선언해주고 있어


요약을 해보자면 i=1 즉 자연수의 범위부터 시작해서 i<num 즉 i가 1000보다 작을 때까지 i값을 키우는 것을 반복하여 조건에 만족하는 값을 다 더하라는 명령을 실행하는 for문이 사용되었어.


여기서! 9행과 11행에서는 i와 3을 나눈 나머지가 0 이거나 i와 5를 나눈 나머지가 0 이 성립한다면 sum이라는 변수에 sum과 그 값 i를 더해서 대입하라는 코드야


1
sum : 233168
cs
 

결과는 '233168'이 나와!


이번에는 Python으로...


1
2
3
4
5
6
7
num = 1000
sum = 0
 
for i in range(1,num):
    if (i%3==0)|(i%5==0):
        sum=sum+i
print(sum)
cs



해석해보면 다 똑같은 방법이야. 절대 귀찮아서 설명 생략하는건 아니라구~


아무튼 오늘도 한 포스팅을 끝냈는데 다음 번엔 값을 입력받아서 특정 범위까지의 특정 값의 배수를 더하는 코드도 연구해서 가져올게! 이만 빠잇!


2017. 7. 24 '씨그마 아 아니.. 컴퓨터가 문제를 풀게 해보자!' 끝