<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>最大公约数 on CharlesWang个人博客</title>
    <link>https://charleswang.top/tags/%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0/</link>
    <description>Recent content in 最大公约数 on CharlesWang个人博客</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 01 Apr 2026 16:11:06 +0800</lastBuildDate>
    <atom:link href="https://charleswang.top/tags/%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AcWing 3642. 最大公约数和最小公倍数</title>
      <link>https://charleswang.top/2026-04-01-acwing-3642.-%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E5%92%8C%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0/</link>
      <pubDate>Wed, 01 Apr 2026 16:11:06 +0800</pubDate>
      <guid>https://charleswang.top/2026-04-01-acwing-3642.-%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E5%92%8C%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0/</guid>
      <description>&lt;p&gt;输入两个正整数 m 和 n，求其最大公约数和最小公倍数。&lt;/p&gt;
&lt;h4 id=&#34;输入格式&#34;&gt;输入格式&lt;/h4&gt;
&lt;p&gt;一行，两个整数 m 和 n。&lt;/p&gt;
&lt;h4 id=&#34;输出格式&#34;&gt;输出格式&lt;/h4&gt;
&lt;p&gt;一行，输出两个数的最大公约数和最小公倍数。&lt;/p&gt;
&lt;h4 id=&#34;数据范围&#34;&gt;数据范围&lt;/h4&gt;
&lt;p&gt;1≤n,m≤10000&lt;/p&gt;
&lt;h4 id=&#34;输入样例&#34;&gt;输入样例：&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;5 7
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;输出样例&#34;&gt;输出样例：&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1 35
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#include 
using namespace std;
const int N=1e9+7;
#define int long long
signed main()
{
	/*
	整体思路就是用枚举的方法分别求最大公约数和最小公倍数
	以两个数中小的那个数为基准 
	*/
	int m,n;
	cin&amp;gt;&amp;gt;m&amp;gt;&amp;gt;n;
	int ans1=0,ans2=0;
	int mina=0,minb=0;
	if(m=1;i--)
	{
		if(minb%i==0&amp;amp;&amp;amp;mina%i==0)
		{
			ans1=i;break;
		}
	}
	//找最大公约数 范围肯定在1-mina之间 从大往小找，最先找到的肯定最大（注意 对于这个数 应该能同时被M N整除） 
	for(int i=mina;;i+=mina)
	{
		if(i%minb==0)
		{
			ans2=i;break;
		}
	}
	//找最小公倍数 由小的数一倍一倍的找即可 当然也不需要再判定是否能整除了 
	cout&amp;lt;&amp;lt;ans1&amp;lt;&amp;lt;&amp;#39; &amp;#39;&amp;lt;&amp;lt;ans2&amp;lt;&amp;lt;endl;
	return 0;
}
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
  </channel>
</rss>
