# 수학
직접 몇개 쓰다보면 규칙이 보인다!~
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #define MAX 3005 #define INF 987654321 #define MOD 1000000 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair<int, int> pi; ll n,cur=1,ans=0; ll fun(ll a) { ll val=(n-1)/a,next; if(val==0) next=n; else next=(n-1)/val; ll ret=(val+1)*(next-a+1); cur=next; return ret; } int main() { scanf("%lld",&n); ans+=n; while(cur<n) ans+=fun(cur+1); printf("%lld",ans); return 0; }
'IT > BOJ' 카테고리의 다른 글
백준(BOJ) 14746 Closest Pair * (0) | 2018.08.08 |
---|---|
백준(BOJ) 1097 마법단어 ** (0) | 2018.08.01 |
백준(BOJ) 1854 k번째 최단경로 (0) | 2018.07.31 |
백준(BOJ) 2213 트리의 독립집합 ** (0) | 2018.07.25 |
백준(BOJ) 5626 제단 ** (0) | 2018.07.22 |