작성
·
352
0
8:12에서 코드에 n = 7일때 대입을 해보았습니다.
첫 loop에서
cnt = 11
cnt = 11 % 7 -> 4
ret =2
4 % 7 == 0 안되고, else로 가서
cnt = 4 * 10 + 1 - > 41
cnt = 41 % 7 -> 6
ret = 3
6%7 ==0 안되고, else로 가서
cnt = 61
cnt = 61%7 -> 5
ret = 4
5%7 == 0 안되고 else로 가서
cnt = 51
cnt = 51%7 -> 2
ret = 5
2 % 7 == 0 안되고 else로 가서
cnt = 21
cnt = 21%7 -> 0
ret = 6
0%7 == 0 되서
ret인 6이 출력되는
강사님께서 설명하시는 1,11,111,1111은 어떤것을 말씀하시는건지 잘 모르겠습니다.. 제가 문제를 잘 못 이해하고 있는 걸까요… ㅠㅠ
답변 2
1
안녕하세요 Dae님 ㅎㅎ
일단 문제를 이해해보자면 이런거에요.
예시 중에 3이 있죠?
3의 배수중 1로만 되어있는 수 중 가장 작은 수의 "자릿수"를 구하는 문제에요.
3의 배수인데 1로만 되어있는 수 중 가장 작은 수는
1
11
111
1111
11111
중에 111이죠? 3으로 나누어 떨어지니까요.
근데 이를 11111 이런 수를 만들어서 나누어버리면 너무나도 큰 수를 기반으로 나누게 되는데
모듈러 연산의 특징을 이용해서
(a + b) % c = a % c + b % c
매번 나누면서 답을 찾는 거에요.
혹시 이해 안되시는 부분이 있으시면 다시 질문주세요.
감사합니다.
0