Beispiel #1
0
        /// <summary>
        /// Добавляет ряд к стриму
        /// </summary>
        /// <param name="sw">поток записи куда добавляется группа</param>
        /// <param name="lastGroup">последнии цифры предыдущей группы</param>
        /// <param name="natur">натйральные числа</param>
        /// <param name="numGroup">номер группы которую добавляем</param>
        /// <returns>Массив чисел которые были добавлены в группу</returns>
        private int[] WriteGroupToStream(StreamWriter sw, int[] lastGroup, NaturNum natur, int numGroup)
        {
            List <int> tempGroup = new List <int>();

            for (int i = 0; i < lastGroup.Length; i++)
            {
                if (lastGroup[i] * 2 > num)
                {
                    break;
                }
                natur.Reset();

                foreach (int nat in natur)
                {
                    int currNum = nat * lastGroup[i];
                    if (currNum > num)
                    {
                        break;
                    }

                    if (natur.group(currNum) <= 1)
                    {
                        sw.Write(" " + currNum);
                        tempGroup.Add(currNum);

                        natur.group(currNum, numGroup);
                    }
                }
            }
            tempGroup.Sort();
            return(tempGroup.ToArray());
        }
Beispiel #2
0
        /// <summary>
        /// Записывает ряды в файл
        /// </summary>
        /// <param name="fileName">Имя файла куда записать</param>
        public void WriteStrem(string fileName)
        {
            int      group = GetNumGroups();
            NaturNum natur = new NaturNum(num);

            using (StreamWriter sw = new StreamWriter(fileName))
            {
                int[] lastGroup = new int[1];
                lastGroup[0] = 1;
                sw.Write(" 1");

                for (int numGroup = 1; numGroup <= group; numGroup++)
                {
                    sw.WriteLine();
                    lastGroup = WriteGroupToStream(sw, lastGroup, natur, numGroup);
                }
            }
        }