大家好!这里是最后一题了,也相对简单,这里会给出两个公式,一个是最小公因数,另外一个是最小公倍数,好了,让我们开始吧!
题目;
这道题的大致解法就是求给出的数和10的k次方的最小公倍数,下面我就给出两个函数,让大家可以直接运用求解最小公因数和最小公倍数:
-
long long gcd(long int m,long int n) { return(m==0)?n:gcd(n%m,m); }
这个就是用来求最小公因数的函数了
-
long long gcd(long int m,long int n) { return(m==0)?n:gcd(n%m,m); } long long lcm(long int a,long int b) { return a/gcd(a,b)*b; }
这个就是最小公倍数的公式了,怎么样,这两个是不是很相似,没错,就是在下面多了一个函数,最小公倍数的就是lcm。
好了,让我们来看看代码是什么样的吧。
#include<bits/stdc++.h>
using namespace std;
long long gcd(long int m,long int n)
{
return(m==0)?n:gcd(n%m,m);
}
long long lcm(long int a,long int b)
{
return a/gcd(a,b)*b;
}
int main()
{
int i,n,t,k;
cin>>t;
for(i=1;i<=t;i++)
{
cin>>n>>k;
int x;
x=pow(10 , k);//这里是一个常用的函数,用来求10的k次方
long long y=lcm(x,n);
cout<<y<<endl;
}
}
好了,全部的七道题我都讲解完了,这个系列就告一段落,因为是第一次发博客,所以可能存在一些小问题,希望大家能理解,也希望大家能有所收获,如果从中能有一点收获,博主就感到之得了,感谢大家的观看,也请大家自己动动手,自己写一写,会有所收获,因为博主博主也是刚开始学习c语言,所以还有些许不足,希望大家一起进步!再次感谢大家!