반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DI
- Django 특정 값 가져오기
- Spring
- html
- table tag
- Django
- table cell size
- Django column 값 가져오기
- html cell
- Dependency Injection
- Dependency
- html cell size
Archives
- Today
- Total
emluy 개발 일기
C++ - (백준) 17425번 약수의 합 본문
SMALL
0. 문제
17425번: 약수의 합
두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더
www.acmicpc.net
1. 문제 해석
- 1~1000000 사이 숫자 중 N을 입력 받음
- 1부터 N까지 각 숫자의 약수들 합한것을 다 더한 것을 구함
2. 알아야할 것
2-1. 시간초과를 고려해야함
-> N을 입력받을때마다 1부터 N까지 각 숫자들의 약수를 구하고 다 더한 총 합을 구하면 시간이 초과됨
# 알고리즘 오류는 없지만 시간초과
#include <iostream>
int T;
int N;
int ans;
int main(){
scanf("%d",&T);
for(int t=0; t<T; t++){
scanf("%d",&N);
ans=0;
for(int j=1; j<=N; j++){
for(int i=1; i<=j; i++){
if(j%i==0){
ans+=i;
}
}
}
printf("%d\n",ans);
}
}
*N이 어떤 숫자이든 간에 미리 구해 놓은 답을 꺼내서 출력할 수 있게 하면 시간이 더 적게 걸림*
-> 배열에 N이 1~1000000 사이 값일 때 답은 뭐가 되는지 계산해서 미리 넣어둠
반응형
'알고리즘 > c, c++' 카테고리의 다른 글
C++ - (백준) 17425번 소수 구하기 (0) | 2021.01.17 |
---|---|
C++ - (백준) 10845번 큐 (0) | 2021.01.08 |
C++ - (백준) 20058번 마법사 상어와 파이어스톰 (0) | 2021.01.04 |
C++ - (백준) 삼성기출 20056번 마법사 상어와 파이어볼 (0) | 2021.01.03 |
Mac - VsCode 에 C/C++ 개발환경 세팅하기 (1) | 2020.12.31 |
Comments