洛谷——P2090 数字对
2024-09-07 07:36:12
P2090 数字对
题目描述
对于一个数字对(a, b),我们可以通过一次操作将其变为新数字对(a+b, b)或(a, a+b)。
给定一正整数n,问最少需要多少次操作可将数字对(1, 1)变为一个数字对,该数字对至少有一个数字为n。
直接爆搜会TLE
突然发现这个过程跟辗转相除法类似,
那么对于$(a,b)$->$(1,1)$
如果还原的过程$a==b==1$还原成功,反之失败
加速这个过程的方法$(a,b)$->$(b$,$a$%$b)$需要的步数是$a/b$
#include<bits/stdc++.h> #define inf 0x7fffffff
#define LL long long
using namespace std; LL n,ans;
LL calc(LL a,LL b){
if(b==) return a-;
if(!b) return inf;
return a/b+calc(b,a%b);
}
int main()
{
scanf("%lld",&n);
ans=inf;
for(LL i=;i<=n;i++)
ans=min(ans,calc(n,i)); printf("%lld",ans); return ;
}
最新文章
- JavaScript 三级联动
- django 微信企业号 返回text消息
- Girls and Boys(poj 1466)
- 【Cocos2d入门教程七】三分钟看懂Cocos2d坐标系
- jbpm6 开发环境搭建
- hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)
- 简单2步实现 asp.net mvc ckeditor 图片上传
- Java集合框架类
- ArcGIS Runtime SDK是什么?
- MySQL优化三 表结构优化
- Ubuntu14.04下安装Flash Player
- 《java入门第一季》之面向对象面试题(面向对象都做了哪些事情)
- [Luogu P1354]房间最短路问题
- 工厂参观记:.NET Core 中 HttpClientFactory 如何解决 HttpClient 臭名昭著的问题
- [python 练习] 计算个税
- AJPFX:什么是外汇交易
- Linux部署Web应用程序超链接下载中文名称文件404问题解决办法
- [No0000189]改善C#程序的建议10:用Parallel简化Task
- php 文件压缩
- 浅谈文档协作在工程设计中的应用——共享excel计算书
热门文章
- Android合并两个APP的详细做法(掌握)
- Codeforces Round #228 (Div. 2) C. Fox and Box Accumulation
- 00020970-0000-0000-C000-000000000046
- Linux Centos 下安装软件 三种方式
- 红米note怎么打开USB调试模式
- hdu 6035(树形dp)
- 【USACO 2008FEB】 旅馆
- 洛谷P2680 运输计划——树上差分
- js 获取图片宽高 和 图片大小
- Pycharm初始创建项目和环境搭建(解决aconda库文件引入不全等问题)