Calculator Conundrum UVa11549

UVA - 11549:Calculator Conundrum UVA-11549:Calculator Conundrum 来源:UVA 标签: 参考资料:《算法竞赛入门经典——训练指南》 相似题目: 题目 Alice got a hold of an old calculator that can display n digits. She was bored enough to come up with ... 阅读详情

题目描述:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=460&page=show_problem&problem=2544

 

本题难点在于判断是否存在循环,一种可行方法是使用STL中的set,但是空间开销有点大,同事set的插入和查找也花费

一定时间,这里使用最基本的追击问题原理,可以在常数开销下解决循环判断问题。

如果两个速度不同的人在圆形跑道上同时同起点跑,则两人必定会再相遇。基于此,

对于每个k,使用另外两个与之相同的变量,称为k1、k2,k1每次只计算一次平方,k2每次计算两次平方,这样k1和k2总有

相等的一次,至此算法停止。具体如下:

next(int n, int k)   //对k,计算屏幕出现的数字k的平方的高n位

int main()

{

        int t;

        cin >> t;

        while ( t -- )

         {

                 int n, k;

                 cin >> n >> k;

                 int k1 = k2 = k;

                 int ans = k;

                 do {

                         k1 = next ( n, k1);

                          k2 = next(n ,k2);           ans = max( ans, k2);

                          k2 = next(n, k2),             ans = max(ans, k2);

                   }while( k1!= k2)

                   cout << ans << endl;

              }

              return 0;

}

混合编程实战:C#集成C++ PCL点云处理库,打造跨语言动态链接库 本文详细介绍了C#与C++混合编程实战,重点讲解如何通过动态链接库(DLL)集成C++ PCL点云处理库,实现跨语言协作。内容涵盖环境配置、PCL功能封装、C#调用DLL的完整方案,以及性能优化和错误处理等进阶技巧,帮助开发者高效处理大规模点云数据,提升工业软件开发效率。 阅读详情

相关推荐

企业和个人 AI 编程工具怎么选?2025 年 12 款主流工具(Claude/Cursor 等)核心能力 + 收费对比

2025 年最火的 12 款 AI 编程工具,像 Claude、Cursor 这些热门款,我把它们的核心能力、收费标准全扒得明明白白,看完这篇你不用再瞎琢磨,直接就能挑到对的!再说说 Cursor,美国 Cursor Labs 做的,还拿过红杉资本投资,2022 年推出后,2024 年收入直接涨了 6400%,势头很猛。总之,不管你是企业技术管理者、程序员,还是刚入门的 AI 小白,按自己的需求(语言、合规、预算)挑,保准能找到最适合的 AI 编程工具!最后给大家划重点,不同需求直接对号入座:?

hundred98的博客 2801

UVA 11549 - Calculator Conundrum(模拟+周期规律)

Problem C CALCULATOR CONUNDRUM Alice got a hold of an old calculator that can display n digits. She was bored enough to come up with the following time waster. She enters a number k then repe

Remilia's 2001

西门子1200数据块BD详解

定义 DB(Data Block)是用于存储用户数据的区域,分为两种类型:核心作用 四、DB块的访问方式 1. 全局DB访问 符号访问(优化块): 绝对地址访问(非优化块):(假设SetPoint占用2字节) 2. 背景DB访问 与FB关联后自动生成,通过FB调用时传递: 五、高级功能与注意事项 数据块的初始化运行时修改DB数据块的下载常见问题 通过合理使用DB块,可显著提升程序的可读性和可维护性。建议优先启用优化块访问并使用符号名编程。如何使用DB数据块 数据块用于存储程序数据。因此,数据块

weixin_51020122的博客 3429

uva 11549 - Calculator Conundrum(模拟)

题目链接:uva 11549 - Calculator Conundrum 题目大意:给出n和k,表示有一个n为的计算器,现在要计算k一直平方中的最大值(在计算器中出现的),超过n位取前n位。 解题思路:看队友题解上有一个判断说形成循环的条件a^2== b^4。然后模拟一下就可以了。 #include &lt;stdio.h&gt; #include &lt;string...

xiaoheliushuiya 172

基于Spring Boot框架的网上蛋糕销售系统

随着互联网的普及和电子商务的迅猛发展,网上购物已经成为人们日常生活的一部分。蛋糕作为一种受欢迎的食品,其销售市场也逐渐向网络化方向发展。网上蛋糕销售系统能够打破时间和地域的限制,让消费者随时随地浏览和购买蛋糕,同时也为蛋糕商家提供了一个展示和销售产品的平台。该系统的开发旨在提高蛋糕预定和销售的便捷性,节约时间和经济成本,并推动蛋糕市场的进一步发展。开发语言:Java,一种面向对象的编程语言,具有跨平台性、稳定性和安全性等特点,适用于构建大型、复杂的Web应用程序。 框架:Spring Boot,一个基于Sp

2301_81127431的博客 996

ArcGIS将以大西洋居中的世界地图以中国居中显示

ArcGIS将以大西洋居中的世界地图以中国居中显示 并进行经纬度格网的调整输出

jiekeheiguanglan的博客 5705

UVA 11549 Calculator Conundrum 题解

题解: 题目暗示了计算机显示出的数将出现循环,最直接的方式是一个一个的模拟,并判断新得到的数字是否出现过。最简单的方式是通过数组记录已经出现过的数字,然而题目中 0 #include #include #include using namespace std; #define llong long long llong p[11]; void init() { p[0] = 1;

luckyrass的专栏 566

从配置文件加载顺序揭秘:为什么你的logback.xml读不到application.yml?

本文深入解析了Spring Boot中logback.xml无法读取application.yml配置的原因,揭示了Spring Boot配置加载机制与日志系统初始化的时序问题。通过对比logback.xml与logback-spring.xml的差异,提供了使用springProperty标签和系统属性传递等解决方案,帮助开发者有效解决日志配置问题。

weixin_29214335的博客 364

Uva-11549 - Calculator Conundrum

<br />11549 - Calculator Conundrum<br />Time limit: 6.000 seconds <br />Problem C CALCULATOR CONUNDRUM<br />Alice got a hold of an old calculator that can display n digits. She was bored enough to come up with the following time waster. <br />She enters

luoxiaozheng的专栏 883

机械臂的运动学分析-工业机器人

机械臂的运动学是研究机械臂各连杆坐标系之间的运动关系,是对机械臂进行运动控制的基础。本章分析了所设计的六自由度机械臂的运动学。理论上六自由度机械臂的工作空间是一个近似球形区域,能够覆盖机械臂所在的位置,但由于机械臂关节的运动范围受到限制,机械臂末端会存在一些不能到达的工作死区,使得机械臂的工作范围和灵活性受到限制。理论上六自由度机械臂的工作空间是一个近似球形区域,能够覆盖机械臂所在的位置,但由于机械臂关节的运动范围受到限制,机械臂末端会存在一些不能到达的工作死区,使得机械臂的工作范围和灵活性受到限制。

qq_59137727的博客 6648

高空抛物监控系统:基于YOLOv8的轨迹追踪与可视化系统

本文详细介绍了一种基于YOLOv8深度学习模型的高空抛物监控系统,该系统能够实时检测并追踪高层建筑抛掷物的运动轨迹。文章包含完整的系统设计思路、算法实现细节、数据集构建方法以及基于PyQt5的可视化界面开发过程。我们提供了完整的Python实现代码,并讨论了系统的性能优化策略和实际部署考量。此外,我们还推荐了几个公开可用的高空抛物数据集,并详细分析了系统的应用前景和技术挑战。

YOLO 446

uva11549 Calculator Conundrum【解法一】

模拟+哈希

YHaX的博客 874

【Proteus仿真】74HC595+74LS154驱动显示16X16点阵

【Proteus仿真】74HC595+74LS154驱动显示16X16点阵

perseverance51博客 2893

UVA 11549 Calculator Conundrum

题意: 链接: 思路: 注意点: 以下为AC代码:

luminous11的专栏 397

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

UVA11549 Calculator Conundrum

休闲题

ACoder 219

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Calculator Conundrum UVA - 11549

问题 https://vjudge.net/problem/UVA-11549 分析 使用map或者unordered_map进行查重,如果重复就跳出循环,注意数据的类型,防止溢出 在这里插入代码片

zpf1998的博客 198

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

UVA 11549 Calculator Conundrum

很容看出来,一直平方又只取前面n位会构成循环,所以可以模拟,判重的话就用hash #include #include #include using namespace std; const int maxn = 5000; vectorhash1[maxn]; bool vis(int h){ int t = h; h = h % maxn; for(int i = 0; i

蚂蚁大战大象 623

uva 11549 CALCULATOR CONUNDRUM

题目链接 刘汝佳算法竞赛经典入门训练指南p42 代码1: #include <set> #include <iostream> #include <sstream> using namespace std; int next(int n, int k) { stringstream ss; ss <<(lon...

126

uva 11549 - Calculator Conundrum

点击打开链接uva 11549 思路:模拟 分析: 1 题目要求找到最大的n位数,那么我们通过不断的模拟,求出最大的ans 2 这里有个问题就是我们怎么知道什么时候结束呢?我们知道如果当前数已经有出现了那么说明刚好一个循环,这里利用map映射 代码: #include&lt;map&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt;...

我是传奇 195

[UVa11549]Calculator Conundrum

题目大意:有一个只能显示n位数字的计算器,当溢出时只显示最高的n位。 输入k,要你不断平方,问你计算器显示的最大数是多少。 解题思路:这题的示数肯定会循环,那么我们关键就是找什么时候循环了。 可以用Floyd判圈法。 假设两个人在无限长的跑道上赛跑,一个人的速度是另一个的两倍,那么跑得快的永远在前面。 但是如果把跑道变成一个有限长的环,那么在某个时刻,速度快的一定会追上速度慢的...

105

uva 11549 Calculator Conundrum

uva 11549 题意:你拥有一个老式计算机,它只能显示n为数字,有一天你输入数字k,接着一直平方下去,在这个过程中如果数字长度大于n,那么截取前n个数形成一个新的数k,再用这个新的数k一直平方下去,那么这个过程中能显示的最大数字是多少。 思路:在这个过程如果出现了以前出现过的数,那么从第一个开始到这个数就是一个循环节,后面的也与这个节一模一样,因为都是针对一个数字执行同一种操作。 ...

weixin_33829657的博客 100

UVA 11549 Calculator Conundrum

原文请访问我的博客:http://xiaoshig.sinaapp.com/?p=115 Alice got a hold of an old calculator that can display n digits. She was bored enough to come up with the following time waster. She enters a numbe

码海坐标 1091

uva11549 Calculator Conundrum【解法二】

floyd判圈算法

YHaX的博客 809

UVa11549 Calculator Conundrum

题意:有一个只能存储长度为n的数字的十进制计算器,给定一个初始值k,每次可以平方一次,求最大能出现的数字。 题解: 方法一:由于有长度限制,而且每次都平方,看起来会出现循环。那么就可以每次暴力乘就行,用hash判重就行。 方法二:既然会出现循环,何尝不如用一个tot记录一下计算了多少次,到达某个上限(1e9 / T)后输出ans。 方法三:神奇的floyd判圈。维护两个变量,步进...

aoping9329的博客 159

UVa 11549 Calculator Conundrum

long long 很大 int*int随便装 然后set判重下就好了#include <cstdio> #include <iostream> #include <set> #include <string> #include <sstream> using namespace std; typedef long long ll; void solve() { ll n, k, ans =

more time 255

Calculator Conundrum UVA - 11549(floyd判圈)

Calculator Conundrum UVA - 11549 题意: 给你一个n和k。 每次操作可以把k平方,之后取k*k的前n位 为 k。 思路: 首先可以想到,经过有限次操作后,会出现循环。 那么可以想到一种暴力的方法是,用map去记录答案。(但是总时间复杂度是带一个log的)。 可以用Floyd判圈算法去做。 Floyd判圈算法(蓝书原话) 想象一下,假设有两个小孩子在一个"可以无限向前跑"的跑道上赛跑,同时出发,但其中一个小孩的速度是另外一个小孩速度的两倍。如果跑跑道是直的,跑得快的小孩永远

qq_45377553的博客 202
下一篇: 求算法?
kobep
博客等级 码龄17年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值