CodeForces - 858A k-rounding
k-rounding
For a given positive integer n denote its k-rounding as the minimum positive integer x, such that x ends with k or more zeros in base 10 and is divisible by n.
For example, 4-rounding of 375 is 375·80 = 30000. 30000 is the minimum integer such that it ends with 4 or more zeros and is divisible by 375.
Write a program that will perform the k-rounding of n.
Input
The only line contains two integers n and k (1 ≤ n ≤ 109, 0 ≤ k ≤ 8).
Output
Print the k-rounding of n.
Example
Input
375 4
Output
30000
Input
10000 1
Output
10000
Input
38101 0
Output
38101
Input
123456789 8
Output
12345678900000000
题意:对于一个数字n,定义它的"k阶数"为最小的正整数x,这里x以k个或者更多的0结尾,且能够被n整除. 比如375的4阶数为 375*80 = 30000.
#include<stdio.h> #include<iostream> #include<algorithm> #include<math.h> using namespace std; int main() { long long n,k,m=1; cin>>n>>k; while(k--) m*=10; cout<<(n*m)/__gcd(n,m)<<endl; }