그냥 -1000000부터 1000000까지 다 확인해보면 안 되나요
9735번 - 삼차 방정식 풀기
다확인했더니 시간초과 나오던데 시간초과 안나오셨나요..??
-1000000 부터 1000000 까지 확인하면 편한데 그럼 오버플로우 날거같아서 각항을 a로 나누자니 long long이 안대고... 오버플로우를 방지할라면 어캐해야할까요...?
ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 힌트라도 읍나요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 후 해보겠습니다 ㅠ
넴 그래서 D 의 약수중에서 x를 찾아서 풀었는데 뭔가 잘못풀었는지 틀렸데서 다른방법을 찾고있엇는데
그냥 내가 잘못풀었던건가...
미분때려서 극소 극대값으로 근 갯수 판별한다음 a의 부호에 따라서 이분탐색으로 정수해를 찾아볼라고도 하였지만 꼭 정수만 찾아진다는 보장이 없어서 이것도 일단 안하고 있는 상태인데 흐엥
귀찮으실텐데 많은 답변 감사합니다 다시 해보겠습니다!!!!!
만약 파이썬으로짜면 약수 때려박아도 오버플로우가 안날테니 통과대나여??
댓글을 작성하려면 로그인해야 합니다.
tmdghks9574 3년 전
우선 b / a 가 float이면 세 실근(중근도 있을수있음) 이 존재하고 (허근이 있을경우 둘이 더함 0이라 하나의 정수근 만족을 몬하니)
b / a 가 정수면 그 정수값을 넣엇을때 0이 되면 실근 한개 찾았으니 조립제법해서 판별식 때리고
d = 0 이면 실근 0하나 존재하니 똑같이 판별식 때리고,
위 두가지가 아니면 실근을 찾을때 다돌면 타임오버 뜨니까 세근의 곱이 abr 인걸 생각해서
for(int i = 1; i <= sqrt(d); i++)
해서 i or d / i가 나눠 떨어지면 실근 하나찾았으니 break하고 똑같이 조립제법 판별식 답출력 이런식으로
할라고 하는데 뭐 문제댈꺼 없을까요? 이런식으로 좀 끄적끄적햇더니 틀려씁니다, 런타임에러, 줄줄이나왔는데 ㅠ
어캐푸렁 ㅠㅠㅠㅠㅠㅠㅠㅠ