336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

하........

처음에 개꼬였다. 

아예 문제도 잘못읽고, 문제로 잘못이해하고................

슈바............ 결론은...... 


처음에 잘못된 접근부터 시작하자면, 

A B X 라는 숫자를 받고나서 생각을 했다. A부터 B까지 있는 수 중에? X와 서로소인 것은? 그러면 당연하게 아니 당연한건아닌데 무슨 생각인건지 그때 당시 코드작성할 때는 당연하다고 생각한 ㅄ..... B/X - (A-1)/X 하면 답이네? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ이랬다ㅋㅋㅋㅋㅋㅋㅋㅋ 

그렇게 코드를 한 5번틀리고서 """ 완전 바보넼ㅋㅋㅋㅋㅋㅋ """ 하고 이제 제대로 이해하고나서 보니 """ 포함배제원리 """ 를 어떻게 써야할까 생각을 하게 되었다. 음... 뭐 DFS 재귀적으로 함수를 호출해서 계산을 하고 ret 값을 더하고 이 순서를 반복해서 하는 건데 


일단 




이거 먼저 보고나서 코드를 짜면 된다. 근데 A B 로 주어지는 수가 1e+15, 
X로 주어지는 수의 최대가 1e+9 (10억) 이기 때문에 소인수를 어떻게 구할까? 라고 생각을 해봤더니 10억을 루트를 씌우면 대충 32000(?) 정도 나온다 그렇다면 이 소수보다 커지는 두개의 소수는 1e+9 보다 커지게 되므로, 10억에 루트를 씌운 값보다 큰 소인수를 2개를 가지면 아예 입력으로 주어질 수 없다는 걸 생각했음........
그래서 소수를 vector에 저장하고, 그 모아놓은 소수 내에 소인수가 존재하지 않으면 그 수는 그냥 소수다 라고 생각했는데

그리고 그렇게 짜고나서 또 틀렸습니다를 받았다. 생각해보니 저렇게 생각했으면서 코드부분에 추가를 안해놔서 그랬던 거다.....

지금 이게 학교 실습문제로 나왔다던데.....
BOJ에 막 제출하고 있는데 일단 코드는 오늘 12시 넘어서 올려야 할 것 같다........
마지막에 제출한 코드에서 4줄? 정도 추가하면 정답이 나오는데..... 음... 
코드가 난잡해서 나도 약간 이쁘게 수정해봐야겠다.



'PSNote > Problem Solving' 카테고리의 다른 글

[BOJ-2609]최대공약수와 최소공배수  (0) 2017.07.17
[BOJ-8979]올림픽  (0) 2017.07.17
[BOJ-2953]나는요리사다  (0) 2017.07.17
[BOJ-1068]트리  (0) 2017.07.17
[BOJ-13458]시험감독  (0) 2017.07.17

+ Recent posts