#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
 
int N;
int num[250000];
 
void eratos(int N)
{
    for(int i = 2; i <= N; i++)
    {
        if(num[i] == 1)
        {
            continue;
        }
        
        for(int j = i+i; j <= N; j += i)
        {
            num[j] = 1;
        }
    }
}
 
int main(void)
{
//    freopen("B4948_input.txt", "r", stdin);
    
    num[1= 1;
    eratos(250000);
    
    while(cin >> N)
    {
        int cnt = 0;
        
        if(N == 0)
        {
            break;
        }
        
        for(int i = N+1; i <= N+N; i++)
        {
            if(num[i] == 0)
            {
                cnt++;
            }
        }
        
        cout << cnt << "\n";
    }
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
long long N, M;
 
long long twoN;
long long twoM;
long long twoNM;
 
long long fiveN; 
long long fiveM;
long long fiveNM;
 
int main(void)
{
//    freopen("B2004_input.txt", "r", stdin);
    
    cin >> N >> M;
    
    for(long long i = 2; i <= N; i *= 2)
    {
        twoN += N / i;
    }
    for(long long i = 2; i <= M; i *= 2)
    {
        twoM += M / i;
    }
    for(long long i = 2; i <= N-M; i *= 2)
    {
        twoNM += (N-M) / i;
    }
    
    for(long long i = 5; i <= N; i *= 5)
    {
        fiveN += N / i;
    }
    for(long long i = 5; i <= M; i *= 5)
    {
        fiveM += M / i;
    }
    for(long long i = 5; i <= N; i *= 5)
    {
        fiveNM += (N-M) / i;
    }
    
    cout << min(twoN-twoM-twoNM, fiveN-fiveM-fiveNM);
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
int N;
int two;
int five; 
 
int main(void)
{
//    freopen("B1676_input.txt", "r", stdin);
    
    cin >> N;
    
    for(int i = 2; i <= N; i++)
    {
        int temp = i;
        
        while(temp % 2 == 0)
        {
            temp /= 2;
            two++;
        }
        
        while(temp % 5 == 0)
        {
            temp /= 5;
            five++;
        }
    }
    
    cout << min(two, five);
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
int num[1000010];
vector<int> prime;
 
void eratos()
{
    for(int i = 2; i <= 1000000; i++)
    {
        num[i] = i;    
    }
    
    for(int i = 2; i <= 1000000; i++)
    {
        if(num[i] == 0)
        {
            continue;
        }
        
        else if(num[i] == i)
        {
            for(int j = i+i; j <= 1000000; j += i)
            {
                num[j] = 0;
            }    
        }
    }
}
 
int main(void)
{
//    freopen("B6588_input.txt", "r", stdin);
    
    eratos();
    
    // 에라토스테네스의 체를 통해 찾은 소수 삽입 
    for(int i = 2; i <= 1000000; i++)
    {
        if(num[i] != 0)
        {
            prime.push_back(i);
        }
    }
    
    while(1)
    {
        int n;
        scanf("%d"&n);
        
        if(n == 0)
        {
            break;
        }
        
        bool find = false;
        
        // 찾은 소수 크기만큼 
        for(int i = 0; i < prime.size(); i++)
        {            
            if(num[prime[i]] + num[n-prime[i]] == n)
            {
                find = true;
                printf("%d = %d + %d\n", n, num[prime[i]], num[n-prime[i]]);
                break;
            }    
        }
        
        if(find == false)
        {
            printf("Goldbach's conjecture is wrong.\n");
        }
    }
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
int num[1000010];
vector<int> prime;
 
void eratos()
{
    for(int i = 2; i <= 1000000; i++)
    {
        num[i] = i;    
    }
    
    for(int i = 2; i <= 1000000; i++)
    {
        if(num[i] == 0)
        {
            continue;
        }
        
        else if(num[i] == i)
        {
            for(int j = i+i; j <= 1000000; j += i)
            {
                num[j] = 0;
            }    
        }
    }
}
 
int main(void)
{
//    freopen("B6588_input.txt", "r", stdin);
    
    eratos();
    
    // 에라토스테네스의 체를 통해 찾은 소수 삽입 
    for(int i = 2; i <= 1000000; i++)
    {
        if(num[i] != 0)
        {
            prime.push_back(i);
        }
    }
    
    while(1)
    {
        int n;
        scanf("%d"&n);
        
        if(n == 0)
        {
            break;
        }
        
        bool find = false;
        
        // 찾은 소수 크기만큼 
        for(int i = 0; i < prime.size(); i++)
        {            
            if(num[prime[i]] + num[n-prime[i]] == n)
            {
                find = true;
                printf("%d = %d + %d\n", n, num[prime[i]], num[n-prime[i]]);
                break;
            }    
        }
        
        if(find == false)
        {
            printf("Goldbach's conjecture is wrong.\n");
        }
    }
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <vector>
#include <queue>
#include <math.h>
using namespace std;
 
int A, B;
int N;
 
int main(void)
{
//    freopen("B11576_input.txt", "r", stdin);
    
    cin >> A >> B;
    cin >> N;
    
    int digit[30];
    long long num10 = 0;
    vector<int> ans;
    
    for(int i = 0; i < N; i++)
    {
        cin >> digit[i];
    }
        
    // A진수 -> 10진수
    for(int i = N-1; i >= 0; i--)
    {
        int temp = digit[i];
        
        num10 += temp * pow(A, N-1-i);
    }
        
    // 10진수 -> B진수
    while(num10 != 0)
    {
        int temp = num10 % B;
        num10 /= B;
        
        // B진수의 뒤에서부터 저장 
        ans.push_back(temp);
    } 
    
    // 뒤에서부터 저장했으므로, 반대로 출력 
    for(int i = ans.size()-1; i >= 0; i--)
    {
        cout << ans[i] << " ";
    }
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
string num;
string ans;
 
int main(void)
{
//    freopen("B1212_input.txt", "r", stdin);
    
    cin >> num;
    
    for(int i = 0; i < num.size(); i++)
    {
        if(num[i] == '0')
        {
            if(i == 0)
            {
                ans += "0";
            }
            else
            {
                ans += "000";    
            }
        }
        else if(num[i] == '1')
        {
            if(i == 0)
            {
                ans += "1";
            }
            else
            {
                ans += "001";    
            }
        }
        else if(num[i] == '2')
        {
            if(i == 0)
            {
                ans += "10";
            }
            else
            {
                ans += "010";    
            }
        }
        else if(num[i] == '3')
        {
            if(i == 0)
            {
                ans += "11";
            }
            else
            {
                ans += "011";    
            }
        }
        else if(num[i] == '4')
        {
            ans += "100";
        }
        else if(num[i] == '5')
        {
            ans += "101";
        }
        else if(num[i] == '6')
        {
            ans += "110";
        }
        else if(num[i] == '7')
        {
            ans += "111";
        }
    }
    
    cout << ans;
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
string num;
string ans;
 
int main(void)
{
//    freopen("B1373_input.txt", "r", stdin);
    
    cin >> num;
    
    if(num.size() % 3 == 1)
    {
        num = "00" + num;
    }
    else if(num.size() % 3 == 2)
    {
        num = "0" + num;
    }
    
    for(int i = 0; i < num.size(); i += 3)
    {
        if(num.substr(i, 3== "000")
        {
            ans += "0";
        }
        else if(num.substr(i, 3== "001")
        {
            ans += "1";
        }
        else if(num.substr(i, 3== "010")
        {
            ans += "2";
        }
        else if(num.substr(i, 3== "011")
        {
            ans += "3";
        }
        else if(num.substr(i, 3== "100")
        {
            ans += "4";
        }
        else if(num.substr(i, 3== "101")
        {
            ans += "5";
        }
        else if(num.substr(i, 3== "110")
        {
            ans += "6";
        }
        else if(num.substr(i, 3== "111")
        {
            ans += "7";
        }
    }
    
    cout << ans;
    
    return 0;
}
cs

+ Recent posts