알고리즘/알고리즘 문제풀이

Codeforces Round #805 (Div. 3) - A

b1ackhand 2022. 7. 11. 23:07

문제 출처:

https://codeforces.com/contest/1702/problem/A

 

문제 분석:

178 -> 100

9000 -> 1000

10의 n승의 형태로 나오게 빼야될 값을 구하는 문제이다.

 

문제 해결:

문제에서 요구한 대로 구현했다.

 

내 소스코드:

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <string>
#include <cmath>
#include <algorithm>
#include <vector>
#include <utility>
#include <string>
#include <queue>
#include <stack>
#include <cstring>
#include <list>
#include <set>
#include <string.h>
#include <map>
#include <limits.h>
#include <stdlib.h>
#include <typeinfo>
#include <bitset>
 
#define rep(i, n) for (int i = 0; i < (int)(n); ++i)
#define rep1(i, n) for (int i = 1; i <= (int)(n); ++i)
#define range(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define pb push_back
#define F first
#define S second
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int, int> pii;
typedef vector<int> vi;
 
const int INF = 987654321;
 
int testcase;
int main() 
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
 
    cin >> testcase;
 
    while (testcase--)
    {
        ll tmp;
 
        cin >> tmp;
        ll k = tmp;
        int cut = -1;
        while (k > 0)
        {
            k /= 10;
            cut++;
        }
        ll t = tmp - pow(10, cut);
        printf("%lld\n",t);
        
    }
 
 
    return 0;
}

 

고찰: