티스토리 뷰
1초에 20만의 숫자도 소수인지 판별하기 위해서는 for문에서 소요되는 시간을 줄여야한다.
36을 예로 들었을 때,
1 * 36
2 * 18
3 * 12
4 * 9
6 * 6 이다.
즉, 36의 제곱근까지만 확인해도 소수인지 알 수 있다.
sqrt 함수를 사용해도 되지만 j*j==i 구문을 사용하여 제곱근처럼 사용한다.
#include<stdio.h>
int main() {
int num, cnt = 0;
scanf("%d", &num);
int flag;
for (int i = 2; i <= num; i++) {
flag = 1;
for (int j = 2; j*j <= i; j++) {
if (i%j == 0) {
flag = 0;
break;
}
}
if (flag == 1) cnt++;
}
printf("%d", cnt);
}
'알고리즘 > C++' 카테고리의 다른 글
[C++] 층간소음 ( 기준치 초과하는 최대값) (0) | 2020.02.24 |
---|---|
[C++] 아나그램 (Anangram) (0) | 2020.02.24 |
뒤집은 소수 C++ (소수판별, 숫자 뒤집기) (0) | 2020.02.19 |
가장 많이 사용된 자릿수 C++ (0) | 2020.02.19 |
숫자의 총 개수( 큰 수 ver. 제한시간 ) C++ (0) | 2020.02.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ModelForm Form 차이
- Firebase 데이터베이스 추천
- 데이터베이스 추천
- 테이블출력안됨
- 장고 태그달기
- django tag
- django clean
- django 로그인접근
- Realtime Database
- python 웹 배포
- cleaned_data
- 웹 배포
- 장고 게시판
- UITableViewController Not Working
- Django
- iOS UITableView 출력안됨
- django 게시판
- django 태그
- pythonanywhere배포
- CellForRowAt Not Called
- CellForRowAt 호출안됨
- 실시간 데이터베이스
- iOS 화면 안나옴
- pythonanywhere배포방법
- iOS 데이터베이스
- 까만 화면
- django 개발일지
- django pythoneverywhere
- 알파벳 카운팅
- iOS 검은 화면
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함