Мне также. Но еще мне кажется, что дело именно в «кто знаком с SQL»
Неизвестно как пошло бы дело, если бы я вместо SQL учил бы какой-нибудь LINQ и только его.
Дело привычки, мне кажется.
признаю свою вину, средняя таблица albums_musicians все испортила
и пока «сходу» без подзапроса не вышло:
select distinct m.name
from musicians as m
left join
(select am.musician_id, a.year, a.id
from albums_musicians as am
left join albums as a on (a.id = am.album_id)) as temptable
on (m.id = temptable.musician_id) and (temptable.year = 2020)
where temptable.id is null
order by m.name
select m.name
from musicians as m
left join albums_musicians as am on m.id = am.musician_id
left join albums as a on (a.id = am.album_id)
group by m.name, m.id
having count(case when a.year = 2020 then a.id end)=0
order by m.name
нет, он попадет в эту выборку со своим альбомом 2020 года
select distinct m.name
from musicians as m
left join albums_musicians as am on m.id = am.musician_id
left join albums as a on (a.id = am.album_id) and (a.year = 2020)
select distinct m.name
from musicians as m
left join albums_musicians as am on m.id = am.musician_id
left join albums as a on (a.id = am.album_id) and (a.year = 2020)
where a.id is null
order by m.name
Что-то мне кажется в п.10 не решается вопрос «все исполнители, которые не выпустили альбомы в 2020 году»
Код
select distinct m.name
from musicians as m
left join albums_musicians as am on m.id = am.musician_id
left join albums as a on a.id = am.album_id
where not a.year = 2020
order by m.name
выдаст музыкантов, у которых есть альбомы не в 2020, независимо от того, выпускали они альбом в 2020 или нет
Согласен. Правда это никак не спасает от «удивления», что указанных данных в коллекции не будет. Наконец, почему нельзя допустить коллекцию в которую можно положить и извлечь, а перебрать нельзя?
Справедливости ради у шарпов тоже скорость добавления фич ого…
Ну и вспомнить сколько лет 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();
}
}
Неизвестно как пошло бы дело, если бы я вместо SQL учил бы какой-нибудь LINQ и только его.
Дело привычки, мне кажется.
и пока «сходу» без подзапроса не вышло:
и тут его «настигнет» условие
которое он не преодолеет и в итоге его не будет
Код
выдаст музыкантов, у которых есть альбомы не в 2020, независимо от того, выпускали они альбом в 2020 или нет
P.S. В данном случае эта избыточность вполне оправдана
Так уже не пишут.
В асинхронном стиле:
ДиалогВыбора.Показать(...)
В интернете полно примеров
Интерфейс управляемых форм — как-то неудачно вышло, хотя идея отличная.
Нет. (a+b)/2=sqrt(x1x2...*xk) где xi — какие то карточки
Не пересекались с решениями от https://lsfusion.org/ ?
Вопрос: а зачем понадобился IEnumerable у результата?
Были найдены на острове Java в санScriptских рунах
Справедливости ради у шарпов тоже скорость добавления фич ого…
Ну и вспомнить сколько лет c++ развивался каждым компилятором кто во что горазд. Только в последние 10 лет (ну и плюсы не молоды) стандарт начал развиваться и тоже понеслись все быстрее.
Так вот, все они ругаются, что не понимают вот этого подключения: