코드
#include <iostream>
using namespace std;
// int* : 포인터, int& : 레퍼런스
int cal(int* _a, const int _b, const int _n, int& _result)
{
if (*_a % _b == 0){ // a가 b로 나눠어 떨어질 경우의 답은 0
return _result;
}
if (*_a > _b) { // 소숫점 아래 N번째 자리수를 구하기 위해 소수점이 아닌 부분은 미리 연산해 뺀다.
*_a = *_a % _b;
}
for (int i = 0; i < _n; i++) { // n 만큼의 자리수까지 나누기 연산 진행
*_a = *_a * 10;
_result = static_cast<int>(*_a / _b);
*_a = *_a % _b;
}
return _result;
}
int main()
{
cin.tie(0); // 코드를 작성하면 입출력 속도가 빨라진다. -> C와 C++ 표준 stream의 동기화를 비활성화
cout.tie(0); // C++의 입출력인 cin, cout만 사용하도록 주의해야합니다.
int a, b, n;
int result = 0;
cin >> a >> b >> n;
cout<<cal(&a, b, n, result);
}
'C++ > 백준 C++' 카테고리의 다른 글
[C/C++] 백준 12904번 A와 B (2) | 2023.12.17 |
---|---|
[C/C++] 백준 4134번 다음 소수 - 참고 (0) | 2023.12.16 |
[C/C++] 백준 11758번 CCW (0) | 2023.12.15 |
[C/C++] 백준 2018번 수들의 합 5 - 참고 (0) | 2023.12.14 |
[C/C++] 백준 28701번 세제곱의 합 (0) | 2023.12.13 |