°­ÁÂ¿Í ÆÁ

¼±Çü ÇÕµ¿¹ýÀ» ÀÌ¿ëÇÑ ³­¼ö ¹ß»ý±â ³¯Â¥:2021-12-26 4:38:09 Á¶È¸¼ö:407
ÀÛ¼ºÀÚ : ¼Ò³â°¡Àå
Æ÷ÀÎÆ® : 438
°¡ÀÔÀÏ : 2020-02-02 00:50:03
¹æ¹®È½¼ö : 54
±Û 42°³, ´ñ±Û 27°³
¼Ò°³ : ÀÚ±â¼Ò°³
ÀÛ¼º±Û º¸±â
ÂÊÁö º¸³»±â
¼±Çü ÇÕµ¿¹ý(Linear Congrential Generator) ÁÙ¿©¼­ LCG¶ó°í ºÒ¸®´Â ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÑ ³­¼ö ¹ß»ý±â ¼Ò½ºÀÔ´Ï´Ù.
C# ÄÜ¼Ö ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ ÈÄ ´ÙÀ½ ¼Ò½º¸¦ ºÙ¿© ³ÖÀ¸¸é ¹Ù·Î µ¿ÀÛÀ» È®ÀÎÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.

using System;

namespace cstestcon
{
    public class RandomGenerator
    {
        public UInt32 seed;

        public RandomGenerator()
        {
            DateTime now = DateTime.Now;
            // ÇöÀç ½Ã°£ÀÇ ºÐ°ú Ãʸ¦ °öÇØ ¹«ÀÛÀ§ÇÑ ¾¾Á¡À» ¸¸µç´Ù.
            this.seed = (UInt32)(now.Minute * now.Second);
        }

        public RandomGenerator(UInt32 seed)
        {
            // ÁöÁ¤ÇÑ ¾¾Á¡À» »ç¿ëÇÔÀ¸·Î½á ÀÏÁ¤ÇÑ ³­¼ö¸¦ ¾ò´Â´Ù.
            this.seed = seed;
        }

        public int GetRandom(int from, int to)
        {
            // °íÀÇ·Î ¿À¹öÇ÷ο츦 À¯¹ßÇÏ¿© ¹«ÀÛÀ§ÇÑ ³­¼ö¸¦ ¸¸µç´Ù.
            seed = seed * 8906299 + 91764051;
            // ¿äûÇÑ ¹üÀ§¾ÈÀÇ ¼ö¸¦ °í¸¥´Ù. 
            return (int)(seed % (to - from) + from);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            RandomGenerator R = new RandomGenerator();
            for (int i =0; i < 10; i++)
            {
                // 1 ~ 6±îÁöÀÇ ÁÖ»çÀ§ ¼ö¸¦ °í¸¥´Ù. 
                // ³¡ ¹üÀ§´Â Á¦¿ÜµÊÀ» À¯ÀÇÇÒ °Í
                Console.WriteLine(R.GetRandom(1, 7));
            }
        }
    }
}

1 ~ 6 »çÀÌÀÇ ³­¼ö 10 °³¸¦ Ãâ·ÂÇÕ´Ï´Ù.
ÇöÀç ½Ã°£À» ¾¾Á¡À¸·Î »ç¿ëÇϹǷΠ½ÇÇàÇÒ ¶§¸¶´Ù ´Ù¸¥ °á°ú°¡ ³ªÅ¸³³´Ï´Ù.

±×·±µ¥... À̵ý °É ¿Ö ¸¸µå³Ä±¸¿ä?
C#¿¡ ÀÌ¹Ì Àß ¸¸µé¾îÁø Random Ŭ·¡½º°¡ Àִµ¥ ±×°É ¾²¸é µÇÁö.
±×·¸ÁÒ. ³­¼ö ÀÚü°¡ ¸ñÀûÀÌ¸é ¶óÀ̺귯¸®ÀÇ Å¬·¡½º¸¦ Ȱ¿ëÇÏ¸é µË´Ï´Ù.

±×·±µ¥ ÀÌ·±°É ¸¸µé¾î ½á¾ß ÇÏ´Â ÀÌÀ¯´Â ¼Ò½º ǰÁú °Ë»ç±â¿¡ RandomÀÌ °É¸®±â ¶§¹®ÀÔ´Ï´Ù.
SI ÇÁ·ÎÁ§Æ®´Â ±â°è°¡ ¼Ò½º ǰÁúÀ» °Ë»çÇϴµ¥ È帧ÀÌ ÀÌ»óÇϰųª ÀÚ¿ø ÇØÁ¦¸¦ Á¦´ë·Î ÇÏÁö ¾ÊÀ¸¸é ÁöÀûÁúÀÌ µé¾î¿É´Ï´Ù.
Random  Ŭ·¡½º¸¦ »ç¿ëÇϸé È帧ÀÌ ÀÏÁ¤Ä¡ ¾Ê´Ù´Â °æ°í°¡ ¹ß»ýÇØ¿ä.

Å×½ºÆ® µ¥ÀÌÅÍ »ý¼ºÀ» À§ÇØ RandomÀÌ ÇÊ¿äÇØµµ ±â°è°¡ °æ°í¸¦ ÇÏ´Ï ¾î¿ ¼ö ¾ø¾î¿ä.
¹°·Ð ¿¹¿Ü »çÇ×À¸·Î µî·Ï ½ÅÃ»ÇØ¼­ ÇÇÇØ°¥ ¼öµµ ÀÖÁö¸¸ ÀýÂ÷°¡ º¹ÀâÇØ ±ÍÂúÀº°ÅÁÒ.
±×·¡¼­ RandomÀ» ´ë½ÅÇÒ »ç¿ëÀÚ Á¤ÀÇ Å¬·¡½º°¡ ÇÊ¿äÇØÁö´õ¶ó±¸¿ä.

¶Ç, ³­¼ö ¹ß»ý ¾Ë°í¸®Áò ¿¬±¸¿ëÀ¸·Îµµ °¡Ä¡°¡ ÀÖ°í¿ä.












 



¿À´Ãµµ ÃÖ¼±À» ´Ù ÇÏÀÚ.

¸ñ·Ïº¸±â »èÁ¦ ¼öÁ¤ ½Å°í ½ºÅ©·¦


·Î±×ÀÎÇÏ¼Å¾ß ´ñ±ÛÀ» ´Þ ¼ö ÀÖ½À´Ï´Ù.