A. k-rounding
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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.
Examples
input
375 4
output
30000
input
10000 1
output
10000
input
38101 0
output
38101
input
123456789 8
output
12345678900000000
题意:
有n,k两个数,求对于 n 的 k-rounding 数,k-rounding 数就是一个有k个后置零的可以被n整除的最小数
题解:
就是求lcm(n,10^k) = n * 10 ^ k / gcd(n,10^k)
#include<stdio.h>
#define LL long long
LL n,k,kk = 1;
LL gcd(LL a,LL b){
return b == 0 ? a : gcd(b, a%b);
}
int main()
{
scanf("%lld %lld",&n,&k);
for(int i=1;i<=k;i++) kk *= 10;
printf("%lld", n * kk / gcd(n,kk));
return 0;
}