Сумма различных последовательностей и вывод результата в текстовый файл - C#

Узнай цену своей работы

Формулировка задачи:

Доброго всем вечера! Возник один небольшой вопросик, буду очень благодарен тому, кто мне поможет его решить. Додумать то по сути немножко нужно, но я уже все варианты перебрал Задача состоит в том, чтобы найти все возможные суммы переборов чисел из 9 штук (числа задаются от 1 до 19) такие, что их сумма

не превышает

62 (меньше либо равно) и вывести полученный результат в текстовый файл. В общем, проблема в следующем (код скомпилен и работает):

1)

Почему то выводит не все суммы последовательностей (именно суммы, чтобы показывались в консольке, и ещё находит их 1017, (мне кажется, что это далеко не все ))

2)

Не могу понять, как вывести весь наш полученный результат в текстовый файл, пробовал по разному Заранее очень сильно благодарю любого, кто мне поможет
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    public class Program
    {
       public static void Main(string[] args)
        {
            int S;
            int W = 0;
            int i;
            int j;
            int k;
            int l;
            int m;
            int n;
            int o;
            int p;
            int r;
 
           for (i=1; i<=19; i++)
           {
               for (j=i+1; j<=19; j++)
               {
                   for (k=j+1; k<=19; k++)
                   {
                       for (l=k+1; l<=19; l++)
                       {
                           for (m=l+1; m<=19; m++)
                           {
                               for (n=m+1; n<=19; n++)
                               {
                               for (o=n+1; o<=19; o++)
                               {
                                   for (p=o+1; p<=19; p++)
                                   {
                                       for (r=p+1; r<=19; r++)
                                       {
                                           /*if (1 <= i && i <= 19 && 1 <= j && j <= 19 && 1 <= k && k <= 19 && 1<=l && l<=19 && 1 <= m && m <= 19 && 1 <= n && n <= 19 && 1 <= o && o <= 19 && 1 <= p && p <= 19 && 1 <= r && r <= 19)
                                           {*/
                                               S = i + j + k + l + m + n + o + p + r;
                                               if (S <= 62)
                                               {
                                                   W++;
                                                   Console.WriteLine("{0}+{1}+{2}+{3}+{4}+{5}+{6}+{7}+{8}={9}", i, j, k, l, m, n, o, p, r, S);
                                               }
                                          // }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
           }
           Console.WriteLine(W);
           Console.ReadKey();
       }
    }
}

Решение задачи: «Сумма различных последовательностей и вывод результата в текстовый файл»

textual
Листинг программы
using System.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int S;
            int W = 0;
            int i;
            int j;
            int k;
            int l;
            int m;
            int n;
            int o;
            int p;
            int r;
            StreamWriter _sw = new StreamWriter(@"E:\input.txt");
            for (i = 1; i <= 19; i++)
            {
                for (j = i + 1; j <= 19; j++)
                {
                    for (k = j + 1; k <= 19; k++)
                    {
                        for (l = k + 1; l <= 19; l++)
                        {
                            for (m = l + 1; m <= 19; m++)
                            {
                                for (n = m + 1; n <= 19; n++)
                                {
                                    for (o = n + 1; o <= 19; o++)
                                    {
                                        for (p = o + 1; p <= 19; p++)
                                        {
                                            for (r = p + 1; r <= 19; r++)
                                            {
                                                S = i + j + k + l + m + n + o + p + r;
                                                if (S <= 62)
                                                {
                                                    W++;
                                                    Console.WriteLine("{0}+{1}+{2}+{3}+{4}+{5}+{6}+{7}+{8}={9}", i, j, k, l, m, n, o, p, r, S);
                                                    _sw.WriteLine("{0}+{1}+{2}+{3}+{4}+{5}+{6}+{7}+{8}={9}", i, j, k, l, m, n, o, p, r, S);
 
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Console.WriteLine("W={0}", W);
            _sw.WriteLine(W);
            Console.ReadKey();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы