- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
bool isRightTriangle(int a, int b, int c)
{
int przeciw=a;
if (b>przeciw) przeciw = b;
if (c>przeciw) przeciw = c;
if (przeciw=a)
if (a*a==b*b+c*c) return true;
else if (przeciw=b)
if (b*b==a*a+c*c) return true;
else if (przeciw=c)
if (c*c==a*a+b*b) return true;
return false;
}
Сразу нашёл наибольшую сторону, чтобы делать только три умножения, а не 9 в худшем случае.
Плюс вот это:
P.S. = то я и не заметил.
Совсем про неуловимые крестобаги забыли. Забыли как с отладчиком три дня сидеть. Как баг искали, что только в полнолуние появлялся забыли...
Не, я и на с/с++ привык к -Wall -Wextra. А там эту опечатку с = отлично видно.
1. Между A и B
2. Между A и С
3. Между В и А
4. Между В и С
5. Между С и А
6. Между С и В
А вообще компилятор предупредить должен же.
И тут ты встрял.
Let(a, b)
Eq(a,b)
Same(a,b) //у меня от этих сраных === мозг взрывается.
Присваивание :=
И уж точно никто не спутает.
Присваивание:
Теперь точно не спутают.
Нужна простая односимвольная конструкция сравнения на равенство. Варианты могут быть.
e x y //сравнение x == y
Но однажды на дваче я увидел нечто похожее на и код на идеон скомпилировался, доказывая как бы что теорема о пифаговоровой тройки для данных значений верна самим фактом компиляции в хаскеле этих строк и что я идиот раз повелся на это.
После этого я пошел учить хаскел. И вот я хаскел частично знаю, но найти тот старый утонувший тред уже не могу, но и написать нечто подобное, чобы оно хоть какими то хаками скомпилировалось я тоже не могу...
Подозреваю, что нужно из какогото модуля импортировать конструктора :+: и :=:. Тот, кто это написал - сам эти конструктора не объявлял, а на хугле найти модули с ними у меня тоже не получилось.
Типа я пошутил так.
http://ideone.com/TIvh3T
P.S. Конструкторы типа :=: :+: не особо гуглятся ;( Хугл тоже молчит.
Почти как в Немерле:
a <-> b
http://symbolhound.com/
Эм.. на стадии компиляции в хаскеле различать числовые литералы? (это ж не нумералы черча). Разве что в отдельном случае вроде сопоставление по образцу вывести предупреждение. Выглядит очень сомнительно.
Если бы все языки приняли этот стандарт, то холиваров «:= и = vs = и ==» не было бы. Поэтому все разработчики ЯП, кроме Кнута, — редиски.
Problems? :J
*плачет от радости*
PS Прочитал весь тред, но так и не дошло - что же такое przeciw.
и у тебя в 4 строчке ошибка: c+b вместо b+c
присев