프로그래밍 언어/C#
복합조건을 가진 함수 제작
wh011202
2024. 12. 2. 18:28
인자값으로 정수형 하나가 주어지면, 숫자 1에서부터 인자값으로 전달받은 숫자 사이의 모든 자연수 중, 3의 배수이거나 5의 배수인 수들의 합을 구하여 정수형으로 반환하는 함수를 작성하세요
메인 코드
Console.Write("인자값을 입력하세요 : ");
int maxNum = 0;
while (false == int.TryParse(Console.ReadLine(), out maxNum))
{
Console.WriteLine("잘못된 입력값입니다.");
}
Console.WriteLine($"1부터 {maxNum}까지 값중 3과 5의 배수들을 합한 값 : " + DeepTask1(maxNum));
함수
static int DeepTask1(int maxNum)
{
int sum = 0;
for (int i = 1; i <= maxNum; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
sum += i;
}
}
return sum;
}
while문 조건에 저렇게 길게 쓰니까 매우 불-편 하지만 깔끔하게 쓰려니 더 난잡해져서 그냥 그러려니 하고 저렇게 쓰고있다..
인자값과 반환값이 있는 함수를 제작해봤는데 처음엔 3의 배수와 5의 배수를 따로 나눴으나 어차피 안에값이 같으면 조건도 같이 넣을수 있지 않을까? 생각한뒤 축약된 코드이다.
문제 자체가 입력값 까지 값중에 라서
for문에 조건쪽을 보면 <= maxNum(=입력값) 을 해줬다.
이번문제는 함수 생성 호출의 연습문제 였던것같다.