cjswodmlskfk   4년 전

올림을 구현할 수 있을까요?

math.h를 써서 너무 편리하게 잘 했는데 혹시 올림을 구현할 수 있는 방법이 있을지 궁금합니다.


ha_ram   4년 전

저는 이렇게 했습니다.

int ans = (V-A)/(A-B);
if(ans*(A-B) >= (V-A)) printf("%d",ans+1);
else printf("%d",ans+2);

cjswodmlskfk   4년 전

감사합니다. 분모의 케이스를 나눠 볼 수 있겠군요.

portableangel   4년 전

cout << (V-B-1)/(A-B) + 1 << endl; 과 같이 가능합니다.

ceil(x/y) == (x+y-1)/y 이기 때문입니다.

똑같이 적용하면 ceil( (V-A) / (A-B) ) = ( (V-A) + (A-B-1) ) / (A-B) = (V-B-1)/(A-B) 가 됩니다.

cjswodmlskfk   4년 전

우와 저도 진짜 수학 잘 하고 싶습니다. x / y 에서 분자에다가 y 직전의 y - 1까지만 더하면 되는 거였군요.

감사합니다.

cadenzah   3년 전

저는 나머지 여부에 따라 1을 더하거나 안 더하는 식으로 부동소수점을 사용하지 않고 해답을 구현했습니다.

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