작성
·
329
1
반복문+조건문 문제풀이
예제2번에서
2의 배수이거나 3의 배수에서 5의배수와 6의 배수를 빼라는
걸로 이해했습니다.
그래서 풀이는
2의 배수 : 1012
3의 배수 : 674
더하면 1686 이 되고
이중 6의 배수는 두 번 들어갔으니
6의 배수 : 337을 빼면 1349가 됩니다.
그 후 && 뒷항 조건을 적용하면
1349 에서 6의배수(337) 을 한 번 더 빼고
5의 배수중에서 숫자 5는 2와 3의 배수에 포함되지 않기 때문에
10의 배수 : 202
15의 배수 : 134
를 또 빼고 30의 배수는 한번만 뺏어야 되었는데 총 3번이 빠졌으니 30의 배수를 두 번 더하여 나온 값이 810 입니다.
혹시 풀이가 이게 맞을까요 ?
1012+674-337-337-202-134+67+67 = 810
다른 간단한 풀이도 있는지 궁금합니다.
답변 4
1
저도 처음에 질문자님처럼 생각했었는데요~~
너무 복잡해서, 이게 맞나 싶으면서
숫자를 나열하다보니
2의 배수중에서 5와 6의 배수가 아닌 수
2 4 8 14 16 22 ...
3의 배수중에서 5와 6의 배수가 아닌 수
3 9 21 ...
그래서 합쳐보니
2 3 4 8 14 16 21 22 ...
이렇게 되더라고요 그래서 저는
아 앞에 문제에서 10의 배수만 빼면 되겠구나 생각해서
5의배수가 404개가 나오길래 앞의 문제 정답인 1012에서
5의 배수의 절반인 202를 빼면 되겠구나 해서
1012-202 = 810 이라고 정답을 도출해냈습니다.
좋은 풀이인지는 모르겠네요~~
1
0
0
안녕하세요, 먼저 제 강의를 수강해주셔서 감사드립니다.
'||과 &&의 사용법을 이렇게도 복잡하게 할 수 있구나.' 정도로 만든 것이 예제 2번인데 너무 수학 문제가 된 것 같네요..
조금 더 단순하게 자료를 만들 것 그랬나 싶습니다.
예제 1에서 제가 설명한 것처럼 1349는 말씀하신 대로 계산하신 것이 맞고,
만약에 2번째 예제 같은 복잡한 문제가 나올 때는 공배수의 개념을 활용하시면 좋습니다.
(이미 잘 활용하신 것 같습니다..^^)
저도 질문을 작성해주신 분과 똑같은 방식으로 계산했습니다.
중요한 것은 주어진 숫자의 공배수가 몇 번 빠졌는지 파악하는 것이라고 생각합니다.
2, 3, 5, 6의 배수는 모두 30을 통과합니다.
똑같이 하면 4번 겹치기 때문에 전체에서 3번을 빼도 되고 말씀하신 대로 앞에서 빼면서 마지막에 더해줘도 됩니다.
다만, 이렇게 공배수가 많이 겹칠 것 같은 극단적인 문제는 출제될 확률이 적으니,
너무 스트레스 받지 않으셨으면 좋겠습니다.
주말코딩 드림.