题目描述

输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数

条件:

1.P,Q是正整数

2.要求P,Q以x0为最大公约数,以y0为最小公倍数.

试求:满足条件的所有可能的两个正整数的个数.

输入输出格式

输入格式:

二个正整数x0,y0

输出格式:

一个数,表示求出满足条件的P,Q的个数

输入输出样例

输入样例#1:

3 60
输出样例#1:

4

说明

P,Q有4种

3 60 15 12 12 15 60 3

分析:暴力可以过,但是也可以用数学方法,利用唯一分解定律,最大公约数的次数都是取min,最小公倍数的次数都是取max,如果次数不同,证明这一位的贡献值是2,两个数一个取max,一个取min,就好了,如果次数相等,就没有贡献。在处理前先判断一下最大公约数能不能整除最小公倍数.

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath> using namespace std; int x,y,cnt; int qpow(int a,int b)
{
int ans = ;
while (b)
{
if (b & )
ans *= a;
a *= a;
b >>= ;
}
return ans;
} int main()
{
scanf("%d%d",&x,&y);
if (y % x != )
printf("0\n");
else
{
int k = y / x;
for (int i = ; i <= k; i++)
{
if (k % i == )
{
while (k % i == )
k /= i;
cnt++;
}
}
printf("%d\n",qpow(,cnt));
} return ;
}

最新文章

  1. 《Ansible权威指南》笔记(2)——Inventory配置
  2. jquery插件:仿百度首页可展开收起的消息提示控件
  3. 【读书笔记】iOS网络-Web Service协议与风格
  4. 网络之TCP/IP四层模型
  5. Java容器题库
  6. 湖南省第十二届大学生计算机程序设计竞赛 B 有向无环图 拓扑DP
  7. thinkphp常用Config.php配置项
  8. 深入理解Redis:命令处理流程
  9. 安装hadoop多节点 各种整理
  10. Swift lazy 修饰符和方法
  11. iis6 下发布MVC2项目的方法
  12. 由浅入深吃透MVC框架,驯服烂代码
  13. H - Cow Contest
  14. Web应用的部署
  15. SDL2来源分析7:演出(SDL_RenderPresent())
  16. QBC查询、离线条件查询(DetachedCriteric)和分页查询模版
  17. Round #427 A. Key races(Div.2)
  18. java中如何获得方法中的参数名
  19. js删除数组元素
  20. 关于linux上文件无法正确显示中文的情况解决

热门文章

  1. windows下sublime text的node.js开发环境搭建
  2. grunt requireJS 的基础配置
  3. 解决登录linux输入密码问题
  4. 第一次作业(homework-01)成绩公布
  5. python 抓取网页(一)
  6. c# 导入第三方插件(例如pdf控件),莫名有时候成功有时候出错
  7. Alpha-8
  8. DNS服务器的解析
  9. Java MD5加密类
  10. 利用Docker安装Web前端性能测试工具Sitespeed.io