[C 언어, 주어진 직각 삼각형의 빗변의 영역

 

건너 뛴 학교 HugeGun_

시간 제한 : 메모리 제한을 1000MS : 65,536킬로바이트를

제목 설명

HugeGun 자매는 생략 학교를 좋아했다. 불행하게도,이 시간은 그녀가 발견되었다.

교사는 교실을 청소하는 그녀에게 물었다. 그녀는 갑자기 벽 및 바닥의 그림자에 빗자루 바로 위에서 광 이후 벽에 빗자루, 직각 삼각형을 구성하는 것으로되면.

그녀는 알고 싶다, 직각 삼각형의 직각 모서리의 측면 길이를 계산하는 방법을 주어진 영역의 빗변과 삼각형의 모서리의 길이.

현명한 물론 당신은 그녀를 도울 것입니다.

기입

정수 제 라인 N- 데이터 세트의 개수를 나타내며, n은-

이어서, N- 개의 정수의 라인 N- L , S의 L은 각각 빗변의 영역의 크기와 길이를 나타내는 (S)

수출

출력 N- N 행

먼저 나는 내가 행동 내가에게 데이터의 I-응답 세트 :

당신은 직각 측면 길이 조건, 출력을 만족 찾을 수없는 경우 hhhg.

그렇지 않으면, 두 개의 소수점의 출력 , B , A는 B를 만족시키기 위해 필요 직각 측면 길이 나타내고 <= B = A <B를

SAMPLE INPUT

3
5 6
7 8
1 2

샘플 출력

3.00 4.00
2.44 6.56
hhhg

데이터 범위

1 L 10 6

0 S L 2

[솔루션] 내 질문

이것은 삼각형 A, B, L의 빗변의 양측에 형성되고;

S = 2분의 1 * A * B;

L ' (2) = 의 2 + . 2 ;

해결 방정식에 답해야합니다.

#INCLUDE <STDIO.H> 
#INCLUDE <math.h> 
#INCLUDE < 문자열 .H>
 INT 의 main () {
     이중 A, B, L, S로 이루어진 그룹 중에서 선택되고;
    이중 GEN1, 세대;
    INT N;
    scanf와 ( " %의 D ' , N);
    반면 (N-- ) {
        scanf와 ( " % LF % LF " , L,은 S);
        경우 (L * L < 4 * S) {
            의 printf ( " hhhg \ n " );
            계속 ;
        }
        GEN1 = SQRT (1- ℓ * 4 * S);
        세대 = SQRT (L * L + 4 * S);= (세대 GEN1 +) / 2 ;
        B = (- 2 세대 GEN1) / 2 ;
        의 printf ( " % .2lf % .2lf \ n " , B, A);
    }
    반환  0 ;
}

방문해 주셔서 감사합니다!

 

추천

출처www.cnblogs.com/life-blog-of-Dolly/p/11965750.html