powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Простая задачка
5 сообщений из 5, страница 1 из 1
Простая задачка
    #37101005
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
есть 2 массива:

x = [a1,a2,a3,a4,a5]
и
y=[b1,b2]

Нужно напечатать строку состоящую из x^i y^i т е "a1 b1", "a2 b2" и т п. НО элементы массива x могут склеиваться друг с другом т е "a1 a2 b1", "a1 a3 b2 " "a1 a2 a3 a4 a5 b2 " и тп. Соотв считает что например "a1 a2 a3 b1" и "a1 a2 a3 b1" - одно и тоже (т е не зависит от порядка склеивания ). Как это описать программно ?
...
Рейтинг: 0 / 0
Простая задачка
    #37101037
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это математическая задача?
Тогда выражайтесь точно и нормальным языком.
Где в каком разделе математики Вы нашли операцию "склеивания" ?
...
Рейтинг: 0 / 0
Простая задачка
    #37101184
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Простая задачка
    #37102412
Algol36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я Как это описать программно ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
using System;
using System.Collections.Generic;

namespace ConsoleApplication62
{
    class Program
    {
        static void Main(string[] args)
        {
            var a = new string[]{"a1", "a2", "a3", "a4", "a5"};
            var b = new string[]{"b1", "b2"};
            foreach (var s in BuildItems(a, b))
                Console.WriteLine(s);
            Console.ReadLine();
        }

        static IEnumerable<string> BuildItems(string[] a, string[] b)
        {
            long maxA = (long)Math.Pow(2, a.Length);
            for (long i=1; i<maxA; i++)
            {
                long mask = i;
                string resultA = "";
                for(int k=0;k<a.Length;k++)
                {
                    if((mask & 1) == 1)
                        resultA += a[k];
                    mask = mask >> 1;
                }

                for (int j = 0; j < b.Length; j++)
                    yield return resultA + b[j];
            }
        }
    }
}
...
Рейтинг: 0 / 0
Простая задачка
    #37106810
OKM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор, если задача простая, зачем вы тут спрашиваете?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Простая задачка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]