GDUT 2020寒假训练 数论 A
原题链接
题目
outputstandard 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.
样例
题目大意
找到10的k次幂和n的最小公倍数
思路
gcd和lcm模板
代码
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long gcd(long long a,long long b)
{
return a?gcd(b%a,a):b;
}
long long LCM(long long a,long long b)
{
return a*b/gcd(a,b);
}
int main()
{
int n,k;
cin>>n>>k;
cout<<LCM((long long )pow((double)10,(double)k),n);
return 0;
}