728x90
반응형
본인이 해당 문제의 출제자가 아니며, 문제 자체에 대한 모든 사항은 위의 링크가 출처임을 명시합니다.
자릿수 구하기라는 뭔가 단순한 문구에 끌려서 왔는데… 생각보다 더 단순한 문제여서 당황했던 문제였다. 진짜 문제가 길지 않은 만큼 그냥 간단히 시작하겠다.
생각 :
은 그냥 고등학교의 log10(산술로그)만 떠올리면 8~90%는 해결되는 문제이다. 실제로 그 방법을 이용해서 구할 것이다.
코드 :
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
std::cout << std::fixed;
int a, b;
cin >> a >> b;
long double result = log10(a) * b;
cout << (long long)((long double)floor(result) + 1);
return 0;
}
입력 받은 a, b를 이용해서 만든 수식 :
floor(log10(a) * b) + 1
다만 처음에 그냥 생각없이 이렇게 냈다가 "틀렸습니다"를 받았다.
왜인지 봤는데 소수점 출력이 문제여서 출력 형태를 고정하고 long doube → long long으로 명시적 형 변환을 해서 맞았다.
이게 왜 G5씩이나 하는지는 모르겠다. 느낌상 S4~3 정도가 적당해보이는데… 일단 여기까지 신경쓸 입장은 아니기에 이만 줄이겠다.
P.S
<로그인 필요!>
https://www.acmicpc.net/board/view/121273
이걸 보면 문제의 의도, 해석이 논란이 되고 있어 난도가 바뀔 것으로 보인다.
728x90
반응형
'CP, PS > BeakJoon' 카테고리의 다른 글
[백준/C++/Gold(5)] 2447 - 별 찍기 - 10 (1) | 2023.08.01 |
---|---|
[백준/C++/Silver(1)] 2156 - 포도주 마시기 (0) | 2023.07.30 |
[백준/C++/Gold(5)] 27087 - 직육면체 (2) | 2023.07.22 |
[백준/C++/Silver(3)] 1485 - 정사각형 (2) | 2023.07.22 |
[백준/C++/Gold(5)] 28291 - 레드스톤 (2) | 2023.07.20 |