본문 바로가기

카테고리 없음

C# 문법 - 이중 루프로 별표 피라미드 출력

반응형
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp6
{
    class Program
    {
        static void Main(string[] args)
        {
            int j;
            int primes = 0;
            for (int i = 1; i < 1000; i++)
            {
                for ( j = 2; j < i; j++)
                {
                    if (i%j==0)
                    {
                        break;
                    }
                }
                if (j==i)
                {
                    primes++;
                    Console.Write($"{i,5}",primes%15 ==0?"\n" :"");
                }
               
            }
            Console.WriteLine($"소수의 갯수는: {primes}");
        }
    }
}

 
기본 원리는 동일하다 소수 구하는 방법 소수는 약수로 나누어 지지 않고 약수로 1과 본인을 가진다
전에 했던 소수 판독기는 내가 특정 수를 입력하여 구분하는 반면 이번 코딩은 1~1000 사이수에서 
찾아내야하는 방법이기 때문에 for문을 중첩 해줌으로 자동으로 1000번가지 반복하게 해준다!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
        }
    }
}

중첩문을 이해한다고 생각했던 나에게 이 간단한 피라미드 만드는 코딩은
내가 이해하고 있었던 것이 얼마나 겉핥기 식이였는지 알게해준 코딩이였다. 
*
**
***
****
*****
이걸 만들어보라고 교육생의 제안에 한참을 고민한 후에야 겨우 코딩할 수 있었다.
스스로가 부끄러웠다 그래서 처음으로 돌아가서 원리 자료구조 부터 하나하나 공부해
나가고자 한다. 

using System.Threading.Tasks;

namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            Console.WriteLine();

            for (int i = 0; i <= 5; i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            for (int i = 0; i <= 5; i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            Console.WriteLine();

            for (int i = 5; i > 0; i--)
            {
                for (int j = i; j < 6; j++)
                {
                    Console.Write("*");
                }
            }
            Console.WriteLine();

            for (int i = 5; i > 0; i--)
            {
                for (int j = i; j < 6; j++)
                {
                    Console.Write("*");
                }
            }
            Console.WriteLine();
            for (int i = 1; i <= 5; i++)
            {
                for (int j = 1; j <= i * 2 - 1; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            for (int i = 0; i < 6; i++)
            {
                for (int j = 5; j >i ; j--)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }



for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6-i; j++)
                {
                    Console.Write(" ");
                }
                for (int h = 0; h < 2*i-1; h++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }

 

반응형