본문 바로가기
  • 식초 한잔 할래..?
공부/게임 공부

코딩 실습 경험자 Lv2-3 [팩토리얼]

by 돼지피그푸곰 2025. 9. 3.

이번 과제는 팩토리얼입니다. 

숫자 하나 입력받은 후, 그 숫자의 n-1을 곱하게 하며, 만약 0이 되면 반복문을 탈출하면 되겠죠.

 

다른 블로그들 처럼 코드를 이쁘게 담아보려서 Color Scripter라는 거를 사용해 봤습니다.

...너무 화려하네요. 

이 언밸런스를 그대로 유지해 보도록 하겠습니다.

1
2
3
4
5
6
7
8
9
10
11
Console.WriteLine("Enter the number: ");
int input = int.Parse(Console.ReadLine());
 
int value = 1;
 
for(int i = input; i>0; i--)
{
    value *= i;
}
 
Console.WriteLine($"result is: {value} ");
cs

 

이 언밸런스를 그대로 유지해 보도록 하겠습니다.

 

12를 넣어봤습니다. 솔직히 너무 큰 숫자가 나와서 이게 맞는지 모륵겠지만, 적당히 5로 해보니 맞는 것 같습니다.

12!은 4억7천9백만1천6백이었습니다.

 

사실 for문만 하면 안돼죠. 다른 if문과 while문도 사용해보겠습니다.

위의 세 줄은 고정으로 내비두고, for반복문 안에 있는걸 if와 while로 나누어서 같이 사용하면 될 것 같습니다.

 

그 전에, 제가 코딩을 알게 된지는 10년이 된 것 같지만, 그럼에도 불구하고 적성에 안맞고 이게 뭐지다 싶은건 바로 이런 녀석들 때문입니다.

using System;

namespace ConsoleApp2

class Program

static void Main()

이 함수 앞머리에 들어가는 녀석들.

 

다른 블로그를 찾아보고, GPT에게 물어볼 때도 계속해서 이 녀석들이 나타나는데, 사실 이 녀석들 없어도 실행이 되거든요?

 

용도가 뭐냐고 아무리 물어보고, 이해시켜 달라고 해도 들려오는 말들은 정해져 있습니다.

ㅇㅇㅇ를 쓰게 해줄 수 있는 system을 가져오고

class를 지정해 줘야 하는데, 그냥 이름을 가상으로 Program으로 적은거고.

static하고 void는 값을 변환받지 않는다. 라고 맨날 말하는데, 그게 정확히 무슨 의미인지. 아직도 온몸으로 체득이 안되어 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Console.WriteLine("Enter the number: ");
int input = int.Parse(Console.ReadLine());
 
if(input <0 )
{
    Console.WriteLine("다시 입력하시오");
    return; //없어도 됨
}
else
{
    int value = 1;
 
    while(input>0)
    {
        value *= input;
        input -= 1;
    }
    Console.WriteLine($"result is: {value} ");
}
cs

 

큰 차이 없는 if와 while 문을 이용한 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int input;
do
{
 
    Console.WriteLine("Enter the number: ");
    input = int.Parse(Console.ReadLine());
 
    if (input < 0)
    {
        Console.WriteLine("음수 안된다");
    }
}
while (input < 0);
 
int value = 1;
int temp = input;
 
do
{
    value *= temp;
    temp--;
}
while (temp > 0);
 
Console.WriteLine($"결과는 = {value}");
cs

이건 do while 문입니다.

do로 일단 요걸 해라. while ~ 동안. 이죠.

 

여러 가지 알아보고, 보면서 쓰지 않으면 아예 안써지니까 최대한 안보려고 하고, 안보면 아예 안써지고...

그렇게 이거 하나로 1시간을 잡아 먹었습니다.

역시 코딩은 적성에 안맞는 것 같습니다.

진짜 에반데