본문 바로가기
공부/C#

C# 공부(5) 51~56 (Part 1 End)

by 라이티아 2024. 8. 24.

51. 무한루프와 break문

using System;
namespace A051
{
    class Program
    {
        static void Main(string[] args)
        {
            int sum = 0;
            int days = 1;
            int money = 1000;

            while (true)
            {
                sum += money;
                Console.WriteLine($"{days}일차 : {money,8:C} sum = {sum, 11 :C}");
                if (sum >= 1000000) break;
                days++;
                money *= 2;
            }
            Console.WriteLine($"{days}일차에 {sum:###,###}원이 됨");

            for (sum = 0, days = 1, money = 1000; ; days++, money*=2)
            {
                sum += money;
                Console.WriteLine($"{days}일차 : {money,8:C} sum = {sum,11:C}");
                if (sum >= 1000000) break;
            }
            Console.WriteLine($"{days}일차에 {sum:###,###}원이 됨");
        }
    }
}

 

결과

1일차 :   \1,000 sum =      \1,000
2일차 :   \2,000 sum =      \3,000
3일차 :   \4,000 sum =      \7,000
4일차 :   \8,000 sum =     \15,000
5일차 :  \16,000 sum =     \31,000
6일차 :  \32,000 sum =     \63,000
7일차 :  \64,000 sum =    \127,000
8일차 : \128,000 sum =    \255,000
9일차 : \256,000 sum =    \511,000
10일차 : \512,000 sum =  \1,023,000
10일차에 1,023,000원이 됨
1일차 :   \1,000 sum =      \1,000
2일차 :   \2,000 sum =      \3,000
3일차 :   \4,000 sum =      \7,000
4일차 :   \8,000 sum =     \15,000
5일차 :  \16,000 sum =     \31,000
6일차 :  \32,000 sum =     \63,000
7일차 :  \64,000 sum =    \127,000
8일차 : \128,000 sum =    \255,000
9일차 : \256,000 sum =    \511,000
10일차 : \512,000 sum =  \1,023,000
10일차에 1,023,000원이 됨

 

while문과 for문을 break로 탈출하는 예시 코드이다

 

52. 합계가 10000이 넘는 순간

using System;

namespace P52
{
    class Program
    {
        static void Main(string[] args)
        {
            int sum = 0;
            for (int i = 1; ; i++)
            {
                sum += i;
                if(sum >= 10000)
                {
                    Console.WriteLine($"1~{i}의 합 {sum}");
                    break;
                }
            }

            sum = 0;
            int index = 1;
            for(; sum < 10000; index++)
            {
                sum += index;
            }
            Console.WriteLine($"1~{index-1}의 합 {sum}");
        }
    }
}

 

결과

1~141의 합 10011
1~141의 합 10011

 

sum이 10000이 넘는 순간을 확인하는 방법에 대한 매커니즘 코드이다

 

53. 이중 반복문으로 1~n까지의 팩토리얼과 합 구하기

using System;

namespace P53
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("숫자 입력 : ");
            int n = int.Parse(Console.ReadLine());

            int sum = 0;
            for (int i = 1; i <= n; i++)
            {
                int fact = 1;
                for(int j = 2; j <= i; j++)
                {
                    fact *= j;
                }
                sum += fact;
                Console.WriteLine($"{i}! = {fact}");
            }
            Console.WriteLine($"총합 {sum}");
        }   
    }
}

 

결과

숫자 입력 : 5
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
총합 153

 

이중 반복문을 사용한 1부터 n팩토리얼의 합을 구하는 코드이다

 

54. 이중 루프를 이용하여 구구단 출력

using System;

namespace P54
{
    class Program
    {
        static void Main(string[] args)
        {
            for(int i = 2; i < 10; i++)
            {
                for (int j = 1 ; j < 10; j++)
                {
                    Console.Write($"{i} X {j} = {i * j,3} ");
                }
                Console.WriteLine();
            }
        }
    }
}

 

결과

2 X 1 =   2 2 X 2 =   4 2 X 3 =   6 2 X 4 =   8 2 X 5 =  10 2 X 6 =  12 2 X 7 =  14 2 X 8 =  16 2 X 9 =  18
3 X 1 =   3 3 X 2 =   6 3 X 3 =   9 3 X 4 =  12 3 X 5 =  15 3 X 6 =  18 3 X 7 =  21 3 X 8 =  24 3 X 9 =  27
4 X 1 =   4 4 X 2 =   8 4 X 3 =  12 4 X 4 =  16 4 X 5 =  20 4 X 6 =  24 4 X 7 =  28 4 X 8 =  32 4 X 9 =  36
5 X 1 =   5 5 X 2 =  10 5 X 3 =  15 5 X 4 =  20 5 X 5 =  25 5 X 6 =  30 5 X 7 =  35 5 X 8 =  40 5 X 9 =  45
6 X 1 =   6 6 X 2 =  12 6 X 3 =  18 6 X 4 =  24 6 X 5 =  30 6 X 6 =  36 6 X 7 =  42 6 X 8 =  48 6 X 9 =  54
7 X 1 =   7 7 X 2 =  14 7 X 3 =  21 7 X 4 =  28 7 X 5 =  35 7 X 6 =  42 7 X 7 =  49 7 X 8 =  56 7 X 9 =  63
8 X 1 =   8 8 X 2 =  16 8 X 3 =  24 8 X 4 =  32 8 X 5 =  40 8 X 6 =  48 8 X 7 =  56 8 X 8 =  64 8 X 9 =  72
9 X 1 =   9 9 X 2 =  18 9 X 3 =  27 9 X 4 =  36 9 X 5 =  45 9 X 6 =  54 9 X 7 =  63 9 X 8 =  72 9 X 9 =  81

 

이중 반복문으로 구구단을 출력하는 간단한 코드이다

 

55. 1000까지의 소수를 출력하고 몇 개인지 출력

using System;

namespace P55
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            int index;
            for (int i = 2; i <= 1000; i++)
            {
                for (index = 2; index < i; index++)
                {
                    if (i % index == 0)
                        break;
                }
                if (i == index)
                {
                    n++;
                    Console.Write($"{index,5}");
                }
            }
            Console.WriteLine($"소수는 {n}개");
        }
    }
}

 

결과

    2    3    5    7   11   13   17   19   23   29   31   37   41   43   47   53   59   61   67   71   73   79   83   89   97  101  103  107  109  113  127  131  137  139  149  151  157  163  167  173  179  181  191  193  197  199  211  223  227  229  233  239  241  251  257  263  269  271  277  281  283  293  307  311  313  317  331  337  347  349  353  359  367  373  379  383  389  397  401  409  419  421  431  433  439  443  449  457  461  463  467  479  487  491  499  503  509  521  523  541  547  557  563  569  571  577  587  593  599  601  607  613  617  619  631  641  643  647  653  659  661  673  677  683  691  701  709  719  727  733  739  743  751  757  761  769  773  787  797  809  811  821  823  827  829  839  853  857  859  863  877  881  883  887  907  911  919  929  937  941  947  953  967  971  977  983  991  997소수는 168개

 

반복문과 break를 사용해서 소수를 찾는 코드이다

 

56. 이중 루프와 피라미드 출력

using System;

namespace P56
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 1; i <= 5; i++)
            {
                for (int j = 1; j <= 5-i; j++)
                    Console.Write(" ");
                for (int j = 1; j <= 2*i -1;  j++)
                    Console.Write("*");
                Console.WriteLine();
            }
        }
    }
}

 

결과

    *
   ***
  *****
 *******
*********

 

부트캠프에서 첫 좌절 과제라는 별의 피라미드이다

 

 

'공부 > C#' 카테고리의 다른 글

C# 공부(7) 61~70  (0) 2024.08.26
C# 공부(6) 57~60  (0) 2024.08.25
C# 공부(4) 41~50  (0) 2024.08.24
C# 공부(3) 31~40  (0) 2024.08.23
C# 공부(2) 21~30  (0) 2024.08.22