8.最大公约数和最小公倍数问题
2016-02-24 08:32
274 查看
题目描述Description
输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数
条件: 1.P,Q是正整数
2.要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.
输入描述Input Description
二个正整数x0,y0
输出描述Output Description
满足条件的所有可能的两个正整数的个数
样例输入Sample Input
3 60
样例输出Sample Output
4
源代码:
#include
using
namespace std;
#include
#include
int
x,y,sum=0;
int
gys(int a,int b)
{
if(a
swap(a,b);
int sh=a-b;
while(sh!=0)
{
a=b;
b=sh;
if(a
swap(a,b);
sh=a-b;
}
return b;
}
int
gbs(int a,int b)
{
return a*b/gys(a,b);
}
int
main()
{
cin>>x>>y;
if(x>y)
swap(x,y);
if(y%x!=0)
{
printf("0\n");
return 0;
}
else{
int v=x*y;
int s=sqrt(v);
for(int i=x;i<=s;i+=x)
{
if(gys(i,v/i)==x&&gbs(i,v/i)==y)
sum++;
}
}
printf("%d",sum*2);//再*2输出就是了
return 0;
}
相关文章推荐
- 不同版本(2.3,2.4,2.5) web.xml 的web-app头信息
- 搭建集群必知:Linux常用命令及修改文件总结
- 阿里云部署Java web项目初体验
- SpringMVC源码解读 - RequestMapping注解实现解读 - ConsumesRequestCondition
- 【Cocos2d-x】截图分享功能
- 在没有安装opencv的电脑中运行opencv程序
- 软件开发技术:测试替身(mocker )
- 在外部存储(SD卡)读写文件及检测SD卡状态详解
- 【Android Tricks 6】ViewPager首页与尾页的滑动动作响应
- WebRTC clientICE 延迟问题
- VC++问题
- Random
- Rest – 架构风格与基于网络的软件架构设计 – 总结
- Cloudera Manager、CDH零基础入门、线路指导
- 面试共勉
- Math
- CDH5上安装Hive,HBase,Impala,Spark等服务
- 函数指针的理解
- UITextField 监听数值变化的三种方法
- PB数据连接方法