회원에 의해 삭제된 글입니다.
게시글 주소: https://orbi.kr/00024625035
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
#04년생#05년생#07년생 인증O) 탈탈털린 짱르비 33 20
-
#공지#국어#독학생 9모 '두 출발' 떠 먹여드림 98 30
-
가정학습 끝까지 구질구질하네 19 1
마지막까지 짜증나게 하네;;
-
옛날보다 훨씬 묵직해졌네 0 0
2년 전에 산 너클은 얇아서 쉽게 녹슬었었는데 이건 아닌 듯 캬
-
우리학교는 ㅈㄴ보수적이어서 전과목 10월 말쯤까지 수업한다더라 참고로 가정학습도...
-
가정학습 신청하려는데 큰 담론이 오고 갈 예정... 8 0
담임쌤이 착하고 좋으신 분이라서 싸우진 않겠지만 방금 가정학습 관련해서 말씀드려보니...
-
가정학습 후에 교외체험학습 보고서 어떻게 쓰셨나요..? 추가로 신청했는데 거절당하신 분들도 있나요?
-
고3 가정학습 신청 2 0
일반고(공부 잘 안하는) 개학하면 가정학습 신청 하려고 하는데 언제 하는 게...
-
우리 학교는 교감이 막아놨다고 하던데 어떻게 막아둔거지? 제주도로 놀러가기도 하는데 그건 써주나
ㅋㅋㅋㅋㅋ
191543 맞나요?
오 혹시 근거가 있나여??
저도 도저히 생각이 안나서, 직접 계량하는 프로그램을 만들어 보았습니다.
약수 개수가 6개이면, 서로 다른 소수 p, q에 대해
p^1 q^2
p^5
의 꼴로 나타낼 수 있습니다. 다음과 같은 계량 함수를 정의합니다 :
소수의 부분집합 X = { x : x^2 ≤ n}을 정의하고,
f(n) = Σ_{k ∈ X} π( n/k^2 ) + π( n^1/5 ) - π ( n^1/3)
(첫번째 식은 p^1 q^2꼴 다 더하는 것, 두번째 식은 p^5꼴 더하는 것, 세번째 식은 중복 제거)
그리고 정수 n을 입력하면 약수 개수가 6개인 n 이하의 자연수의 개수를 출력하는 프로그램을 작성합니다 :
#include
using namespace std;
int prime[1000000] = {0};
int pi[1000000];
int main(){
int n = 0, result = 0;
cin >> n;
prime[0] = prime[1] = 1;
for (int i = 2; i <= 1000; i++){
if(prime[i]) continue;
for (int j = i + i; j <= 1000000; j += i)
prime[j] = 1;
}
pi[0] = 0;
for (int i = 1; i <= 1000000; i++) {
pi[i] = pi[i - 1] + !prime[i];
}
for (int i = 1; i * i <= n; i++) {
if (prime[i]) continue;
result += pi[n / (i * i)];
}
int i = 1, j = 1;
for (; i * i * i * i * i <= n; i++);
for (; j * j * j <= n; j++);
result += pi[i - 1] - pi[j - 1];
cout << result << endl;
return 0;
}
그리고 이분법으로 찾으면 됩니다.
p.s. #include 뒤에 <> 쓰고 그 안에 iostream 넣어야 하는데, 오르비 댓글에서는 잘 안 먹네요 ㅋㅋㅋ
정답 인정ㅋㅋㅋ
대단하시네여ㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋ... 아직 검증은 어떻게 할지 모르겠지만
저정도 코드면 정답찾기는 그냥 간단한 노가다니깐ㅋㅋ