U10783 名字被和谐了
2024-10-21 10:06:06
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 ;
}
最新文章
- java-通过JDBC操作数据库
- Xen之初体验:XenMotion、 StorageMotion、Site Recovery、Power Management 各种新、高级功能免费
- JS中数组Array的用法{转载}
- C++浅析——继承类中构造和析构顺序
- CSS3部分新特性
- POJ3321 Apple Tree(DFS序)
- How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem
- [MODx] 5. WayFinder
- Django web 开发指南 no such table:
- C语言到底怎么分配空间
- BZOJ 1901 Dynamic Rankings 树董事长
- [转]View属性 之 paddingStart &; paddingEnd
- Java日志工具之java.util.logging.Logger
- Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)
- 全国各省市GeoCoord SQL文件(不包括区县)
- 使用docker-compose来部署开发环境
- js获取谷歌浏览器版本 和 js分辨不同浏览器
- 使用RecyclerView实现聊天界面
- (转)java代码发送JSON格式的httpPOST请求
- C#代码实现邮箱验证C#中及一些常用的正则表达式
热门文章
- LitePal——安卓数据库library
- swift学习笔记7
- 给类型为text的input设置value值却无法修改
- javascript之 JavaScript 工具库
- 零基础逆向工程31_Win32_05_提取图标_修改标题
- 零基础逆向工程25_C++_02_类的成员权限_虚函数_模板
- 解决perl: warning: Setting locale failed.
- iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解
- shell脚本常识
- linux 命令——56 ss(转)