https://www.luogu.org/problem/show?pid=1029

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

条件:

1.P,Q是正整数

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

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

最大公约数是x0,所以设这两个数为x0*k1 , x0*k2 (其中k1,k2互质)。

由题意得:x0 k1 k2 = y0 (想想对吧?),所以 k1*k2 = y0 / x0 (当然如果y0 / x0 除不尽的话 , 呵呵 ,当然没答案啦(输出0)**)

然后只要穷举k1 , k2 的值,因为 k1*k2 = y0 / x0 是轮换式 , 所以不妨设 k1 < k2 , 然后从1 ~ floor(sqrt(y0 / x0))穷举

如果k1, k2 互质 , 那么就找到 2 组解了 , 所以 sum += 2 。 这样就 OK 啦!!! - - - - - -

#include<bits/stdc++.h>
using namespace std;
int x,y;
int gcd(int a,int b)
{
return (b==)?a : gcd(b,a%b);
} int main ()
{
while (cin >> x >> y){
int sum = ;
if(y % x !=) return *printf("0\n");
int cnt = y/x;
for(int i=;i*i<cnt;i++)
{
if(cnt%i== && gcd(i,cnt/i)==)
sum+= ;
}
cout<< sum <<endl;
}
}

最新文章

  1. SVN出现Invalid authz configuration解决方案
  2. uwp 图片切换动画
  3. AdaBoost算法实现
  4. 20145227&amp;20145201 《信息安全系统设计基础》实验一 开发环境的熟悉
  5. Nodejs断言测试
  6. npm ERR!无法安装任何包的解决办法
  7. hashtable用法
  8. NodeJS:树的反序列化
  9. windows远程桌面连接配置
  10. Nodejs in Visual Studio Code 01.简单介绍Nodejs
  11. MAC OSX 10.10 下安装PHP环境
  12. tensorflow 从入门到上天教程一
  13. webpack的学习准备工作
  14. 阿里云负载均衡SSL证书配置
  15. Android View底层到底是怎么绘制的
  16. win7下怎么安装IIS
  17. 第十一章 DNS服务器管理与配置
  18. EL表达式 EL函数 自定义el函数 《黑马程序员_超全面的JavaWeb视频教程vedio》
  19. Eclipse+maven 构建第一个简单的springmvc项目
  20. adb连接手机的两种方式

热门文章

  1. jQuery性能优化整理
  2. 【BZOJ4545】DQS的trie 后缀自动机+LCT
  3. shell批量重命令文件脚本
  4. 170801、VM性能调优
  5. 170704、springboot编程之CommandLineRunner
  6. 浅谈Lambda表达式详解
  7. Docker企业级仓库Harbor的安装配置与使用
  8. Android USER 版本与ENG 版本的差异
  9. describe neural networks as a series of computational steps via a directed graph.
  10. BBS - 后台管理