본문 바로가기
IT/BOJ

백준(BOJ) 15897 잘못 구현한 에라토스테네스의 체

by 빨강자몽 2018. 7. 31.

# 수학

직접 몇개 쓰다보면 규칙이 보인다!~


#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