j에 답 전체가 아니라 답을 14579로 나눈 나머지만 저장해 주면 됩니다. 보통 이렇게 "~로 나눈 나머지를 출력하시오"라고 하는 이유는 실제 답이 압도적으로 커질 수 있기 때문이고, 안 그러면 큰 수 자료구조를 강제로 구현해야 하는 문제가 되며 심지어 시간 내에 답을 못 구할 수도 있습니다.
14579번 - 덧셈과 곱셈
음 jh05013님 말씀대로
for (i = a; i <= b; i++ )
{
j = j * num(i);
j= j%14579;
}
if(a<b&&a>=1&&b<=1000)
printf("%d\n", j);
로 출력을 해봤는데 1 238 부터 값이 또 0으로 출력되네요..
아 죄송합니다 1 239면 어차피 곱해도 다 14579로 나누어 떨어지겠네요 다 0이군요
댓글을 작성하려면 로그인해야 합니다.
apple2365507 6년 전
알고리즘상으로는 문제가 없는데 int로 하면 1 9 대입했을때부터 - 값이들어가고 unsigned long long으로 하면 1 11부터 -값 또는 0 값이 들어가서 그런데 더 큰 자료형이 있을까요...?