kkw564   2년 전

아래 두 코드의 차이가뭐죠?

똑같은 답이 나오는 조건문 아닌가요??


int main() 
{
int a, b, cost;
scanf("%d %d %d", &a, &b, &cost);
if (2*cost > a + b) 
              printf("%d", a + b);
else 
             printf("%d", a + b - 2*cost);
return 0;
}

dj910401   2년 전

아래 코드에서 틀릴 수 있는 데이터로

1 11

6

이 있을 수 있겠네요

chojl1125   2년 전

a= 4  b= 2 cost = 3

위 : 0

아래: 6

dlgktjr   2년 전

a+b로 치킨 두마리 살수있어도 a+b를 리턴하네요.

70 70

100

하면 40이 나와야하지 않을까요?

kkw564   2년 전

아 문제를 조금 이상하게 이해하고있었네요 두 통장의 돈을 합쳐서도 살수있네요 감사합니다

dyed4eyes   2년 전

위에 있는 코드는 조건이 2*cost > a+b일때는 a+b를 출력하고, 2*cost <= a+b 일때는 a+b-2*cost 를 출력합니다. 조건문이 하나라 둘 중 하나인 경우 뿐입니다.

아래에 있는 코드는 a>=cost*2, b>=cost*2, a>=cost && b>=cost 일 때 a+b-2*cost를 출력합니다. 조건 3개가 각각 따로 체크되네요.
a+b가 출력되는 경우는 a<cost*2 && b<cost*2 && (a<cost || b<cost)인 경우에만 출력되네요.

같은 답이 나올지는 확인 안해봤는데 같은 답이 안나올거 같은데요?

댓글을 작성하려면 로그인해야 합니다.