#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
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
int N;
long long NUM;
string ans;
string rule = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
void change(long long num)
{
    while(num != 0)
    {
        int temp = num % N;
        num /= N;
        
        ans = rule[temp] + ans;
    }
}
 
int main(void)
{
//    freopen("B11005_input.txt", "r", stdin);
    
    cin >> NUM >> N;
    
    change(NUM);
    
    cout << ans;
    
    return 0;
}
cs
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
 
int N;
string NUM;
long long ans;
 
void change(string num)
{
    for(int i = num.size()-1; i >= 0; i--)
    {
        int value;
        
        if('A' <= num[i] && num[i] <= 'Z')
        {
            value = num[i]-'A'+ 10;
        }
        else
        {
            value = num[i]-'0';
        }
        
        ans += (value * pow(N, num.size()-1-i));
    }
}
 
int main(void)
{
//    freopen("B2745_input.txt", "r", stdin);
    
    cin >> NUM >> N;
    
    change(NUM);
    
    cout << ans;
    
    return 0;
}
cs

+ Recent posts