算法竞赛训练指南, 42 页

注意:
1、 用数组来记录一个数的各位的数字
2、 快慢指针来记录链表环的入点(Floyd 判圈算法)

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int N, K, Test;int next(int n, int k)
{if(0 == k){return 0;}int ans = 0;int buf[100];long long k2 = (long long)k * k;int cnt = 0;while(k2){buf[cnt++] = k2 % 10;k2 /= 10;}if(n > cnt){n = cnt;}for(int i = 0; i < n; ++i)  //返回高位的 n 位{ans = ans * 10 + buf[--cnt];}return ans;}int main()
{scanf("%d", &Test);while(Test--){scanf("%d%d", &N, &K);int k1 = K, 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);printf("%d\n", ans);}    return 0;
}/*
2
1 6
2 99
*//*
9
99
*/

UVa 11549 Calculator Conundrum (训练指南,Floyd 判圈算法)相关推荐

  1. floyd 判圈算法 UVa 11549 计算器谜题

    题目http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. UVA 11549 Calculator Conundrum 题解

    题解: 题目暗示了计算机显示出的数将出现循环,最直接的方式是一个一个的模拟,并判断新得到的数字是否出现过.最简单的方式是通过数组记录已经出现过的数字,然而题目中 0<=k<=10^9 范围 ...

  3. leetcode202(Floyd判圈算法(龟兔赛跑算法))

    Write an algorithm to determine if a number is "happy". 写出一个算法确定一个数是不是快乐数. A happy number ...

  4. Floyd判圈算法(Floyd's cycle detection

    Floyd判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm).该算法由美国科学家罗伯特·弗洛伊德发明 ...

  5. 如何判断链表中是否存在环?Floyd判圈算法 leetcode刷题笔记 142. 环形链表 II

    这道题使用了floyd判圈算法,所以先讲解floyd算法的原理和实现,最后在附加上第142题的代码. floyd算法: 一.用途: 可以在有限状态机.迭代函数或者链表上判断是否存在环,求出该环的起点与 ...

  6. UVA 11549 Calculator Conundrum

    很容看出来,一直平方又只取前面n位会构成循环,所以可以模拟,判重的话就用hash #include <iostream> #include <cstdio> #include ...

  7. UVa 11549 Calculator Conundrum

    大白书里面的题感觉就是没有什么固定的思路,只能认真理解学习汝佳大大的代码. 这里用的Floyd判圈法,就像插图里面的一样,两个小孩,一个快一个慢,如果实在一个环形跑道,那么快的那个最终一定会" ...

  8. UVA 11549 Calculator Conundrum

    原文请訪问我的博客:http://xiaoshig.sinaapp.com/?p=115 Alice got a hold of an old calculator that can display  ...

  9. UVa 11549 - Calculator Conundrum

    題目:計算k^2^m中,前n位構成的最大數字. 分析:數論,循環.找尋環節不斷的計算k^2^m和k^4^m相等時即為循環節. 說明:也可以使用map檢測循環╮(╯▽╰)╭. #include < ...

最新文章

  1. java jar包的路径
  2. C#之CLR内存原理初探
  3. 如何调试Android Native Framework
  4. Unsupported format or combination of formats) Failed to parse onnx model
  5. mybatis jar包_springboot2整合mybatis-plus3踩到的坑
  6. Sesame 2.7.0 发布,Java 的 RDF 开发包
  7. mysql atlas 实现读写分离分担数据库压力
  8. Qt网络编程之获取网络信息
  9. 使用Kali Linux系统生成木马病毒并实现远程控制计算机
  10. php全站文章搜索,phpspider在列表页生成内容采集url.(又名:如何通过搜狗搜索关键词,爬取新浪新闻)...
  11. GIS开发:客户端控制的地图样式
  12. python 英语分词_python实现英文文本分词
  13. 从MWC到AWE,中国柔性黑科技为消费电子产业撒下蒲公英的种子
  14. 在c的基础上关于c#入门的一些个人理解
  15. 手机二维码软件及资源大汇总
  16. Linux 学习之路-------苦行,只为修得正果。每日三省吾身
  17. ViTDet程序调用不了GPU全部内存,而且显示NVCC: not available
  18. 00后面试华为软件测试工程师,竭尽全力拿到15K。。。。。
  19. GEE3:吴秋生geemap介绍和安装
  20. 英语底子薄的人,怎样高效复习考博英语?

热门文章

  1. 中国地图china.js
  2. 搭建嵌入式ARM完整系统
  3. json后台的一些处理方式
  4. iOS冰与火之歌 – Objective-C Pwn and iOS arm64 ROP
  5. 我的物联网项目(二十五) 平账难题分析
  6. Vue3 生命周期Hooks函数与调度器Scheduler的原理
  7. 零点起飞学java视频_零点起飞学java (刘升华) 高清PDF_IT教程网
  8. 迭代器模式(lterator Pattern)简介
  9. Maya Mel 数组相关代码笔记
  10. 用英语计算机房造句子,机房造句