Согласен. Правда это никак не спасает от «удивления», что указанных данных в коллекции не будет. Наконец, почему нельзя допустить коллекцию в которую можно положить и извлечь, а перебрать нельзя?
Справедливости ради у шарпов тоже скорость добавления фич ого…
Ну и вспомнить сколько лет c++ развивался каждым компилятором кто во что горазд. Только в последние 10 лет (ну и плюсы не молоды) стандарт начал развиваться и тоже понеслись все быстрее.
модифицировал ваш алгоритм, а потом увидел ваш комментарий:
public static int GCD(int a, int b)
{
if(a<b)
{
int c = a;
a = b;
b = c;
}
int d = a % b;
return (d == 0) ? b : ShaleSequence.GCD(b, d);
}
if (a==b || ShaleSequence.GCD(a,b)!=1) continue; //вместо if (a==b) continue;
using System;
using System.Collections.Generic;
public class Test
{
static int n;
static IEnumerable<IEnumerable<int>> Solution(List<int> SubResult)
{
var count = SubResult.Count;
if (count == n)
{
yield return SubResult;
yield break;
}
for (var i = 1; i <= n; i++)
{
if (SubResult.Contains(i))
{
continue;
}
if ((count >= 2) && ((i+SubResult[count-1]) % SubResult[count-2] != 0))
{
continue;
}
SubResult.Add(i);
foreach (var c in Solution(SubResult))
{
yield return c;
}
SubResult.RemoveAt(count);
}
}
public static void Main()
{
var s = Console.ReadLine();
n = Int32.Parse(s);
var count = 0;
foreach (var c in Solution(new List<int>()))
{
foreach (var num in c)
{
Console.Write($"{num} ");
}
count++;
Console.WriteLine();
}
Console.WriteLine($"Count = {count}");
Console.ReadKey();
}
}
Меня другое мучает. Например у заказа есть варианты доставки: самовывоз, доставка до клиента своими силами, доставка транспортной компанией (ограничим для простоты тремя).
В интерфейсе мы должны сделать недоступным/невидимым поле адрес, если самовывоз. Аналогично с полем Транспортная компания — если она не используется. Тоже ограничение мы прописываем при проверке логики: на сервере приложения или в триггере БД. Не кажется это дублированием кода? Но не проверять нельзя — возможно данные будут получены из сторонних источников.
Что делать в логике когда заполнены поля, когда они должны быть пустыми? Например заполнен адрес и/или транспортная компания при варианте самовывоз? Бросать исключения, откатывать транзакцию, проглатывать как есть или обнулять поле?
Если ничего не делаем, то это переходит в ответственность следующего звена. Например отчёт по графику отгрузки/сборки. Где нужно ничего не выводить в полях адреса и перевозчика.
Есть четкие методики или как всегда нет правильного и неправильного решения?
1С тоже вначале декларировала «доступно и всерьез». Каждый бухгалтер сможет запрограммировать процессы под себя. А вышло вон оно как: на все программисты 7.7 могут освоить клиент-сервер 8.3.
Интерфейс управляемых форм — как-то неудачно вышло, хотя идея отличная.
Нет. (a+b)/2=sqrt(x1x2...*xk) где xi — какие то карточки
Не пересекались с решениями от https://lsfusion.org/ ?
Вопрос: а зачем понадобился IEnumerable у результата?
Были найдены на острове Java в санScriptских рунах
Справедливости ради у шарпов тоже скорость добавления фич ого…
Ну и вспомнить сколько лет c++ развивался каждым компилятором кто во что горазд. Только в последние 10 лет (ну и плюсы не молоды) стандарт начал развиваться и тоже понеслись все быстрее.
Так вот, все они ругаются, что не понимают вот этого подключения:
Меня другое мучает. Например у заказа есть варианты доставки: самовывоз, доставка до клиента своими силами, доставка транспортной компанией (ограничим для простоты тремя).
Есть четкие методики или как всегда нет правильного и неправильного решения?
А если купить на АлиЭкспресс?
Интересно, 1С:ERP она действительно ЕРП или нет?
правда EXISTS легко заменяется через IN