hdu 2504 又见gcd-程序员宅基地

技术标签: Math  

点击打开链接

#include <iostream>
#include <algorithm>
using namespace std;

//  (a,c)=b  已知a,b求最小c (c!=b) 
//  a=bp c=bq   (p,q)=1 反证法 :若 (p,q)=x(x>1) 则 p=xp' q=xq' -> a=bxp' c=bxq'  a,c最大公约数为 bx(x>1) bx>b 与已知b是最大公约数矛盾 所以 (p,q)=1 
// 为了使 c最小 c=bq  找到q最小&&(p,q)=1的q即可 


int gcd(int a,int b)
{
	if(a%b==0)
	{
		return b; 
	}
	else
	{
		return gcd(b,a%b);
	}
}

int main()
{
	int cas,a,b,c,p,q;;
	cin>>cas;
	while(cas--)
	{
		cin>>a>>b;
		p=a/b;
		q=2;// c!=b
		while(1)
		{
			if(gcd(p,q)==1)
			{
				cout<<b*q<<endl;
				break;
			}
			q++;
		}
	}
	return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Jeremy1149/article/details/51706909

智能推荐

linux服务器开发(日志部分)snprintf()_linux snprintf-程序员宅基地

文章浏览阅读478次。buf:接收数据的缓冲区;size:接收数据的大小;format:如%d%s等,指定输出数据的格式…: 输出到缓冲区中的数据返回值:失败返回负数,返回输入数据的总字节数。_linux snprintf

element-ui中label过长换行与el-input等高_el-form-item中label文字超长-程序员宅基地

文章浏览阅读5k次,点赞5次,收藏18次。1. template中设置label:label = "'....\n....'"<!-- 如: <el-form-item :label = "'税收居民国(地区)2\n(如有请填写):'" > <el-input type="text"></el-input> </el-form-item>-->注意:双引号中需要添加单引号将内容包裹,然后在换行处添加'\n'2.css样式 换行显示_el-form-item中label文字超长

如何调用API获取你想要的数据_labview调用api-程序员宅基地

文章浏览阅读673次。在现代软件开发中,API(应用程序编程接口)已经成为了连接不同系统和服务的桥梁。通过调用API,我们可以从各种数据源中获取所需的数据,并将其集成到我们的应用程序中。本文将介绍如何调用API获取你想要的数据,并提供详细的代码示例。_labview调用api

OpenMetadata本地开发环境搭建-程序员宅基地

文章浏览阅读2.8k次,点赞24次,收藏28次。OpenMetadata本地开发环境搭建_openmetadata

link linux-程序员宅基地

文章浏览阅读56次。http://www.cnblogs.com/peida/tag/每日一linux命令/http://jingyan.baidu.com/article/48206aeaf07f37216ad6b3a6.html转载于:https://www.cnblogs.com/jerry-wang-12/p/4675104.html_linuxlink4965agn驱动

Linux服务器下Java环境配置-详细_简述linux下配java环境,列出详细步骤和命令-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏7次。环境:Linux环境具体步骤:1、首先查看当前服务器环境是否已配置了JAVA/命令:java -version2、开始配置① 通过官网下载JDK文件,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(此次安装的是jdk1.8.0_321)② 准备安装:在服务器根目录 /usr/local/ 下新增JAVA文件夹:mkdir java 将已下载的JDK_简述linux下配java环境,列出详细步骤和命令

随便推点

html中边框整体怎么移动,HTML简单边框制作--文字移动特效-程序员宅基地

文章浏览阅读1.6k次。文字移动特效文字移动的基本语法插入文字说明:移动速度数值,1最慢,数字越大越快.属性如下:direction=移动方向 可选值为向上(up) 向下(down) 向左(left) 向右(right)代入例子: direction=up(这是向上例子)文字向上移动文字内容文字向下移动文字内容文字向左移动文字内容文字向右文字内容设置不同移动效果的文字:基本语法:插入文字,属性如下:beh..._html中边框怎么左右移动

【雕爷学编程】Arduino动手做(149)---MAX9814咪头传感器模块2-程序员宅基地

文章浏览阅读465次。雕爷学编程,Arduino动手做,开源硬件,创客传感器,MAX9814咪头传感器模块

大屏可视化解决方案-程序员宅基地

文章浏览阅读968次。大屏的前世今生作为一个 BI 行业人,我们对 DashBaord,领导驾驶舱,仪表盘等概念都非常熟悉,然而忽如一夜春风来,客户都用起大屏来大屏可视化需求,从 2015 年 2016 年,突然之间就成了 BI 项目,数据可视化项目需求列表的中的常见需求项,那什么是大屏呢..._大屏可视化的框架

卡尔.波普尔摘要: 社会科学, 艺术, 及进化论-程序员宅基地

文章浏览阅读1.6k次。 主动的进化论一切活的事物都在寻求更加美好的世界, 积极主动的试错, 试错的结果是进化进化论是生命体有意识的选择, 而不是被动的选择悲观的自然选择, 意味着竞争限制自由. 乐观的主动选择, 意味着扩大自由: 去了解有哪些力量, 使这个世界变为一个整体 社会科学使用与自然科学相同的方法. 波普尔提到了经济学领域中出现的客观理解的方法, 或曰情境逻辑, 并建议尝试性

为什么要用PolyFill(JS中的修补匠)_polyfill.min.js-程序员宅基地

文章浏览阅读1.4k次。var users = [{name:”zhangsan”,age:18},{name:”jack”,age:20}]; 这是一个对象数组。如果我们要查询名字为”jack”用户的年龄、常用的办法是什么? 很多同学会想到遍历这个数组。我们来看看新的语法:var getUser = users.find(function(finder){ return finder.name = “j_polyfill.min.js

Android贝塞尔曲线实现加入购物车抛物线动画_android 抛物线 path-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏6次。先上图看效果 步骤: a.确定动画的起终点 b.在起终点之间使用二次贝塞尔曲线填充起终点之间的点的轨迹 c.设置属性动画,ValueAnimator插值器,获取中间点的坐标 d.将执行动画的控件的x、y坐标设为上面得到的中间点坐标 e.开启属性动画 f.当动画结束时的操作获取控件在屏幕中的绝对坐标: int[] parentLocation = new int[2]; m_android 抛物线 path