Районная олимпиада по информатике. 2018-2019 учебный год. 8-11 классы
Задача E. 80236 Докажи, что математик
Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт
После неудачного выступления на ACM ICPC 2018-2019, NEERC - Northern Eurasia Finals, команда Хранители335 решила подтянуть свои знания математики, ибо на этом контесте они не решили элементарную задачу по теории чисел. Сегодня один из членов команды придумал задачу, где надо просто определить является ли площадь треугольника целочисленной. Ваша задача состоит в том, чтобы помочь этим ребятам.
Формат входного файла
В первой строке записаны три целых числа $a$, $b$ и $c$ ($ 1 \le a, b, c \le 5000 $) - длины сторон загаданного треугольника.
Формат выходного файла
Выведите единственное число — площадь треугольника если она является целочисленной. В остальных случаях выведите -1.
Примеры:
Вход 3 4 5Ответ
6Вход
5 8 5Ответ
12Вход
3 3 3Ответ
-1( Adlet Balzhanov )
Комментарий/решение:
What's wrong here?
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int a, b, c;
cin>>a>>b>>c;
double s, p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
int z=s;
if(s-z==0){
cout<<s;
}else{показать/скрыть код
cout<<-1;
}
return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double a,b,c;
cin>>a>>b>>c;
double s,p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
int z=s;
double x=z;
if(s==x){
cout<<s;
}
else{
cout<<-1;
}
return 0;
}
Почему так раньше не сделали, голову ломал целый день
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.