cf 858 A.k-rounding

                                                         A. k-rounding
                       time limit per test
                       1 second
                       memory limit per test
                       256 megabytes
 

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 10and 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.

input

375 4
output
30000
input
10000 1
output
10000
input
38101 0
output
38101
input
123456789 8
output
12345678900000000

 题解:

       强制类型转换会造成数据值变化。注意pow(,)是double类型的,

       所以我自己写了个同功能的函数power(,)。

AC代码:

#include<iostream>
#include<cmath>
using namespace std;
long long power(long long a,long long k)
{
    while(k--)
    {
        a*=10;
    }
    return a;
}
long long gcd(long long a,long long b)
{
    return b==0?a:gcd(b,a%b);
}
int main()
{
    long long n,k;
    while(cin>>n>>k)
    {
        long long m=power(1,k);
        cout<<m*(n/gcd(n,m))<<endl;
    }
    return 0;
}

今天也是元气满满的一天!good luck!

posted @ 2017-10-14 08:21  ikefire  阅读(216)  评论(0编辑  收藏  举报