周赛题目小结及分析(第七题:最小正整数)

大家好!这里是最后一题了,也相对简单,这里会给出两个公式,一个是最小公因数,另外一个是最小公倍数,好了,让我们开始吧!

题目;

 

 这道题的大致解法就是求给出的数和10的k次方的最小公倍数,下面我就给出两个函数,让大家可以直接运用求解最小公因数和最小公倍数:

  1. long long gcd(long int m,long int n)
          {
              return(m==0)?n:gcd(n%m,m);
          }

    这个就是用来求最小公因数的函数了

  2.   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语言,所以还有些许不足,希望大家一起进步!再次感谢大家!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值