... | ... | @@ -133,84 +133,4 @@ foreach (int elem in arr) |
|
|
}
|
|
|
```
|
|
|
|
|
|
<br />
|
|
|
|
|
|
## 문제 풀이
|
|
|
프로젝트 오일러 1번 문제
|
|
|
>10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다.
|
|
|
>1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요?
|
|
|
|
|
|
```c#
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
int sum = 0;
|
|
|
|
|
|
for (int num = 1; num < 1000; num ++)
|
|
|
{
|
|
|
if(num % 3 == 0 || num % 5 == 0)
|
|
|
{
|
|
|
sum += num;
|
|
|
}
|
|
|
}
|
|
|
Console.WriteLine(sum); //sum은 233168
|
|
|
}
|
|
|
```
|
|
|
프로젝트 오일러 2번 문제
|
|
|
>피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
|
|
|
>1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
|
|
|
>짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?
|
|
|
|
|
|
```c#
|
|
|
class Program
|
|
|
{
|
|
|
public int pibonacci(int num, int[] arr)
|
|
|
{
|
|
|
if (num < 1) //항의 번호가 0 이하일 때
|
|
|
{
|
|
|
Console.WriteLine("0이하의 숫자가 들어갈 수 없습니다.");
|
|
|
return 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (num == 1) //항의 번호가 1과 2일 때 초기화
|
|
|
{
|
|
|
arr[1] = 1;
|
|
|
return arr[1];
|
|
|
}
|
|
|
if (num == 2)
|
|
|
{
|
|
|
arr[2] = 2;
|
|
|
return arr[2];
|
|
|
}
|
|
|
|
|
|
if (arr[num] != 0) //나머지 경우
|
|
|
{
|
|
|
return arr[num];
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
arr[num] = pibonacci(num - 2, arr) + pibonacci(num - 1, arr);
|
|
|
return arr[num];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
int[] store = new int[50]; //값을 저장할 배열 생성
|
|
|
int loopNum = 35;
|
|
|
int sum = 0;
|
|
|
|
|
|
Program prog = new Program();
|
|
|
Console.WriteLine(prog.pibonacci(loopNum, store));
|
|
|
|
|
|
foreach (int num in store)
|
|
|
{
|
|
|
if (num % 2 == 0 && num <= 4000000) sum += num; //짝수이면서 400백만 이하인 항
|
|
|
}
|
|
|
Console.WriteLine(sum); //합계는 4613732
|
|
|
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
<br /> |
|
|
\ No newline at end of file |