扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#include //万能头文件
using namespace std;
int main()
{
int a,b,c,d,e;
cin>>a>>b>>c;
d=max(max(a,b),c); //使用c++的内置函数max和min
e=min(min(a,b),c);
c=__gcd(d,e); //使用c++内置函数__gcd求大公约数
printf("%d/%d",e/c,d/c); //分子和分母分别除以大公约数约分
}
如果我不想用c++的内置函数__gcd求大公约数,想自己写咋办?
那我们就自己干!
欧几里得算法又叫辗转相除法.用我们通俗易懂的话解释,除数一直和余数玩,直到把余数完没了(余数为零),这时候的除数就是我们求的大公约数.如16和10的大公约数如何求?
为宜章等地区用户提供了全套网页设计制作服务,及宜章网站建设行业解决方案。主营业务为做网站、成都网站制作、宜章网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!step 1:16÷10=1······6
step 2:10÷6=1······4
step 3:6÷4=1······2
step 4:4÷2=2······0 此时除数2就是16和10的大公约数
代码如何实现?#includeusing namespace std;
int main()
{
int a,b,c;
cin>>a>>b; //输入被除数和除数
while(a%b!=0){ //判断a除以b的余数,如果为0则不进入循环,此时b为a和b大公约数
c=a%b; //求出a%b余数给c
a=b; //把上一次除数b变成下一次的被除数a
b=c; //把上一次的余数c作为除数赋值给b
}
cout<
大家觉得文章不错的话,别忘记点赞哦~~你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流