mynote6590 2024. 11. 29. 16:19

심화 과제 1. 복합조건을 가진 함수 제작

  • 인자값으로 정수형 하나가 주어지면, 숫자 1에서부터 인자값으로 전달받은 숫자 사이의 모든 자연수 중, 3의 배수이거나 5의 배수인 수들의 합을 구하여 정수형으로 반환하는 함수를 작성하세요

2가지 방식으로 접근

1번 째 방식. 5의배수  +  3의배수  - 15의 배수

2번 째 방식. 3 or 5의 배수 찾기


static void Main(string[] args)
{
    int a = int.Parse(Console.ReadLine());

    // 5의배수  +  3의배수  - 15의 배수
    Console.WriteLine(Result(a));
    
    // 3 or 5의 배수 찾기
    Console.WriteLine(Result2(a));
}

static int Result(int a)
{
    // 3의 배수 더한 결과
    int result3=0;
    // 5의 배수 더한 결과
    int result5=0;
    // 15의 배수 더한 결과
    int result15=0;

    for (int i = 3; i < a; i += 3)
    {
        result3 += i;
    }

    for (int j = 5; j < a; j += 5)
    {
        result5 += j;
    }

    for (int k = 15; k < a; k += 15)
    {
        result15 += k;
    }
    return result3 + result5 - result15;
}

static int Result2(int a)
{
    int result = 0;

    for (int k = 1; k < a; k ++)
    {
        if (k%3 == 0 || k%5 == 0)
        {
            result += k;
        }
    }
    return result;
}

 

 

 

 

심화 과제 3. 피보나치 함수 제작

  • 피보나치 수란, 맨 첫째와 둘째 항은 각각 1이지만, 그 뒤로 오는 모든 항은 앞의 두 항의 합인 수열입니다. 예를 들어 [1,1,2,3,5,8,...] 이렇게 4번째(3) 항목은 2번째(1)와 3번째(2)의 합이고, 마찬가지로 6번째(8) 항목은 바로 앞 4번째(3), 5번째(5)의 합인 형태입니다. 함수의 인자값으로 '몇번째' 인지 정수로 건네주면, 일치하는 피보나치 수를 반환하는 함수를 제작하세요. 참고로 11번째 피보나치 수는 89, 20번째 피보나치 수는 6765 입니다.
using System.Diagnostics;
using System;

namespace opoopopoop
{
    internal class FileName
    {
        static void Main(string[] args)
        {
            int inputBoc = int.Parse(Console.ReadLine());
            int result = Pibo(inputBoc);
            Console.WriteLine(result);


        }

         static int Pibo(int inputBo)
         {
             int[] array = new int[inputBo+1];
             array[0] = 0;
             array[1] = 1;

             for (int i = 1; i < inputBo; i++)
             {
                 array[i+1] = array[i] + array[i-1];
             }
             return array[array.Length -1]; 
         }


    }

}