来源:互联网 发布:对啊网网络销售好做么 编辑:程序博客网 时间:2024/04/25 19:49
ywhyaya
登出
UOJ


UOJ
好评差评[+2]好评差评[+2]
#46. 最大公约数和最小公倍数


 统计
 描述
 提交
 自定义测试
管理
题目描述
给定两个整数:a b,求 a和b 的最大公约数和最小公倍数。


输入格式
两个正整数:a和b (0<a,b<=10000)


输出格式
两个正整数,分别是输入的两个正整数的最大公约数和最小公倍数。 两个数用一个空格分开。


样例数据
input


6 8
output


2 24
数据规模与约定
保证a,b≤10000a,b≤10000。


时间限制:1s1s
空间限制:256MB256MB
中文  English


Universal Online Judge
Server time: 2017-10-24 09:20:53 | 开源项目






还是这题
写这篇博客的目的是提醒自己
看程序:


#include<bits/stdc++.h>
using namespace sdt;
int main()
{
int a,b,n=0,s=0,t;//n公约数;s公倍数;
cin>>a>>b;
if(b>a) 
{
t=a;
a=b;
b=t;
} //保证a最大,好循环; 
for(int i=1;i<=sqrt(a*1.0);i++)
if(a%i=0&&b%i=0) n=i;
s=a*b/n;
cout<<n<<' '<<s;
}


一开始,我还不知道哪错了;
后来才发现错误:\sdt;


if(a%i=0&&b%i=0)




正确的程序如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,n=0,s=0,t;//n公约数;s公倍数;
cin>>a>>b;
if(b>a) 
{
t=a;
a=b;
b=t;
} //保证a最大,好循环; 
for(int i=1;i<=sqrt(a*1.0);i++)
if(a%i==0&&b%i==0) n=i;
s=a*b/n;
cout<<n<<' '<<s;
}




以此来警戒自己,
要仔细,不要太快;
原创粉丝点击