https://www.acmicpc.net/problem/1312
초등학교때의 사칙연산공부를 하던 갬성을 살려서 풀어보도록 하자.
C언어의 double 형 같은 경우 정확도가 그리 높은편이 아니기 때문에 백만번 나누면 부정확해진다.
python의 Decimal 형같은경우는 어찌저찌 될지도...? 근데 그것보단 아래풀이가 더 깔끔하다.
몫이 정답이 되고 나머지를 또 나눌수 있게 하기 위하여 10을 곱해주면 된다.
N이 실버5치고 상당히 커보이기때문에 겁먹을 수 있으나
반복문 하나가 백만번 도는 정도로는 시간초과를 받지 않으니 규칙성같은거찾지말고
직접 다 나눠줘도 된다.
#include <bits/stdc++.h>
using namespace std;
int main(){
int A,B,C;
int ans;
cin >> A >> B >> C;
for(int i=0; i<C; i++){
A = (A%B)*10;
ans = A/B;
}
cout << ans;
return 0;
}
반응형