반응형
https://www.acmicpc.net/problem/1312
1312번: 소수
피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다.
www.acmicpc.net
구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
피제수 a, 제수 b, 출력할 소수점 자리 n을 선언 후 입력받습니다. 정답을 출력할 변수 ans를 선언해줍니다.
📔 풀이과정
n이 100만까지이므로 단순히 나눈다음 string으로 바꾸어 n+1번째자리를 출력하고 싶으나 100만자리까지 출력하기 힘들기 때문에 n+1만큼 for문을 돌면서 중간 계산 결과를 ans에 저장하는 방식이 좋습니다. loop를 수행하며 다음을 진행합니다.
1. a/b한 결과를 int형으로 내려 ans에 먼저 저장합니다.
2. a%b한 결과 * 10을 a에 저장합니다. * 10하는 이유는 b가 두 자리 수이며 a%b가 한 자리라면 제대로 나눈 결과를 저장할 수 없기 때문입니다.
📔 정답출력
ans를 출력해줍니다.
📕 Code
python
a, b, n = map(int,input().split())
ans = 0
for i in range(n+1):
ans = a//b
a = a%b * 10
print(ans)
c++
#include <bits/stdc++.h>
using namespace std;
int a, b, n, ans;
int main(){
cin >> a >> b >> n;
for(int i = 0; i < n+1; i++){
ans = a / b;
a = a%b * 10;
}
cout << ans;
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 6812 : Good times (0) | 2022.01.31 |
---|---|
(C++) - 백준(BOJ) 8714 : Monety (0) | 2022.01.29 |
(C++) - 백준(BOJ) 8558 : Silnia (0) | 2022.01.26 |
(Python) - 백준(BOJ) 24309 : РАВЕНСТВО (2) | 2022.01.23 |
(C++) - 백준(BOJ) 7947 : Koncert (0) | 2022.01.21 |