U10783 名字被和谐了

题目背景

众所周知,我们称g是a的约数,当且仅当g是正数且a mod g = 0。

众所周知,若g既是a的约数也是b的约数,我们称g是a、b的一个公约数。

众所周知,a、b最大的那个公约数就叫最大公约数。

题目描述

现在对于给定的两个正整数a、b,你需要求出它们次大的公约数(second greatest common divisor)。

输入输出格式

输入格式:

第一行两个正整数数a、b。

输出格式:

第一行一个数,表示a、b的次大公约数。若a、b的公约数只有一个,则输出-1。

输入输出样例

输入样例#1:

2 3
输出样例#1:

-1

说明

测试点1..4:a、b≤10^5

测试点1..10:1≤a、b≤10^9

分析

可以证明,a,b的所有公约数都被组大公约数所包含,都是最大公约数的因数,所以先求出最大公约数,然后在最大公约数中在找次大公约数。

code

 #include<cstdio>
#include<algorithm> using namespace std; int Gcd(int x,int y)
{
if (y==) return x;
return Gcd(y,x%y);
} bool Isprime(int x)
{
for (int i=; i*i<=x; ++i)
{
if (x%i==) return false;
}
return true;
} int main()
{
int d,x,y;
scanf("%d%d",&x,&y);
d = Gcd(x,y); if (d==)
{
printf("-1");
return ;
}
if (Isprime(d))
{
printf("");
return ;
}
for (int i=; ; ++i)
{
if (d%i==)
{
printf("%d",d/i);
return ;
}
}
return ;
}

最新文章

  1. java-通过JDBC操作数据库
  2. Xen之初体验:XenMotion、 StorageMotion、Site Recovery、Power Management 各种新、高级功能免费
  3. JS中数组Array的用法{转载}
  4. C++浅析——继承类中构造和析构顺序
  5. CSS3部分新特性
  6. POJ3321 Apple Tree(DFS序)
  7. How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem
  8. [MODx] 5. WayFinder
  9. Django web 开发指南 no such table:
  10. C语言到底怎么分配空间
  11. BZOJ 1901 Dynamic Rankings 树董事长
  12. [转]View属性 之 paddingStart &amp; paddingEnd
  13. Java日志工具之java.util.logging.Logger
  14. Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)
  15. 全国各省市GeoCoord SQL文件(不包括区县)
  16. 使用docker-compose来部署开发环境
  17. js获取谷歌浏览器版本 和 js分辨不同浏览器
  18. 使用RecyclerView实现聊天界面
  19. (转)java代码发送JSON格式的httpPOST请求
  20. C#代码实现邮箱验证C#中及一些常用的正则表达式

热门文章

  1. LitePal——安卓数据库library
  2. swift学习笔记7
  3. 给类型为text的input设置value值却无法修改
  4. javascript之 JavaScript 工具库
  5. 零基础逆向工程31_Win32_05_提取图标_修改标题
  6. 零基础逆向工程25_C++_02_类的成员权限_虚函数_模板
  7. 解决perl: warning: Setting locale failed.
  8. iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解
  9. shell脚本常识
  10. linux 命令——56 ss(转)