안녕하세요 어제 소수문제 관련해서 질문을 올려서 long long 을 사용해주어 해결하는 것을 알았습니다.
코드는 다음과 같습니다. 여기서 long long j= 1LL*i*i
이렇게 1LL을 곱해주던데, long long에 대해 찾아보았을 때에 %lld 이렇게 받는다라고는 나오는데 1LL을 곱해주는 정확한 이유는 안나오더라구요.
곱해주는 이유가 무엇인가요 ?
int를 long long으로 바꾸고싶은 거잖아요. 보통은 static_cast<long long>(i)나 (long long)i 이렇게 하겠지요? 그런데 그게 귀찮아서(...) long long과 int를 곱하면 long long이라는 점을 이용해서 값은 1인데 type이 long long인 1LL을 곱해주면 값은 그대로인데 long long이 되는 거죠.
퍄... 하나 더 배우고 갑니다. 여러모로 감사합니다
14번라인에 i가 int여서 그렇습니다.
댓글을 작성하려면 로그인해야 합니다.
kangsy763 4년 전
안녕하세요 어제 소수문제 관련해서 질문을 올려서 long long 을 사용해주어 해결하는 것을 알았습니다.
코드는 다음과 같습니다. 여기서 long long j= 1LL*i*i
이렇게 1LL을 곱해주던데, long long에 대해 찾아보았을 때에 %lld 이렇게 받는다라고는 나오는데 1LL을 곱해주는 정확한 이유는 안나오더라구요.
곱해주는 이유가 무엇인가요 ?