X로 나눌 수 있는 가장 작은 K 자리 숫자는 X로 나눌 수 있음을 확인하여 공식을 사용하여 찾습니다. 공식은 다음과 같은 방식으로 작동합니다. -
최소 K 자리 수[min]를 계산합니다(예:10/100/1000 등).
이제 min이 X로 나누어 떨어지는지 확인하십시오. 그렇다면 이것이 답입니다.
그렇지 않은 경우 min+X - ([min+X]%k)가 답입니다.
예시
#include <iostream> #include <math.h> using namespace std; int main() { int X = 83; int K = 5; cout<<"The smallest "<<K<<" digit number divisible by "<<X<<" is "; int MIN = pow(10, K - 1); if (MIN % X == 0) cout<<MIN; cout<<((MIN + X) - ((MIN + X) % X)); cout << answer(X, K); }
출력
The smallest 5 digit number divisible by 83 is 100430