专栏首页mluva---(11549)CALCULATOR CONUNDRUM

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 repeatedly squares it until the result overflows. When the result overflows, only the n most significant digits are displayed on the screen and an error flag appears. Alice can clear the error and continue squaring the displayed number. She got bored by this soon enough, but wondered:

“Given n and k, what is the largest number I can get by wasting time in this manner?”

Program Input

The first line of the input contains an integer t (1 ≤ t ≤ 200), the number of test cases. Each test case contains two integers n (1 ≤ n ≤ 9) and k (0 ≤ k < 10n) where n is the number of digits this calculator can display k is the starting number.

Program Output

For each test case, print the maximum number that Alice can get by repeatedly squaring the starting number as described.

Sample Input & Output

INPUT

2
1 6
2 99

OUTPUT

9
99

模拟题:
 题意就是一个数,然后一直平方,然后求在这个过程中最大的前n位:
代码:
 1 #include<cstring>
 2 #include<set>
 3 #include<iostream>
 4 using namespace std;
 5 long long mod[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
 6 int main(){
 7     int n,test;
 8     long long k;
 9     cin>>test;
10     while(test--){
11       cin>>n>>k;
12       while(k/mod[n]>0){  //截取高位
13            k/=10;
14        }
15      long long res=k;
16      set<long long>sac;
17       while(sac.count(k)==0){
18         sac.insert(k);
19          k*=k;
20         while(k/mod[n]>0){  //截取高位
21            k/=10;
22        }
23         if(k>res)res=k;
24      }
25      cout<<res<<endl;
26     }
27   return 0;
28 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HDUOJ-------2493Timer(数学 2008北京现场赛H题)

    Timer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav...

    Gxjun
  • poj1611---The Suspects

    The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: ...

    Gxjun
  • hdu----(1950)Bridging signals(最长递增子序列 (LIS) )

    Bridging signals Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/3...

    Gxjun
  • C++核心准则编译边学-F.19 对于只传递不处理的参数,使用模板类型TP&&并在传递时使用std::forward

    If the object is to be passed onward to other code and not directly used by this...

    面向对象思考
  • Upgrade with the Gradle Wrapper, gradlew升级

    springboot 2.0需要gradle 1+, 而自动构建的都是3.+,手动升级如下 Upgrade with the Gradle Wrapper If...

    Ryan-Miao
  • OpenGL入门 (一)

    OpenGL编程指南 https://github.com/openglredbook/examples https://blog.csdn.net/guy...

    用户1148525
  • Java 动态代理深入解析

    要想了解Java动态代理,首先要了解什么叫做代理,熟悉设计模式的朋友一定知道在Gof总结的23种设计模式中,有一种叫做代理(Proxy)的对象结构型模式,动态代...

    哲洛不闹
  • 试试这个文字冒险游戏,故事是AI写的:情节丰满逻辑不乱,进去就出不来了,在线可玩

    有人用它做了个文字冒险游戏,并赐以优美的名字,叫“AI地牢 (AI Dungeon) ”。

    量子位
  • Java 动态代理深入解析

    要想了解Java动态代理,首先要了解什么叫做代理,熟悉设计模式的朋友一定知道在Gof总结的23种设计模式中,有一种叫做代理(Proxy)的对象结构型模式,动态代...

    Java团长
  • 借助Github 为第三方WordPress 主题/插件添加“自动更新”功能

    WordPress 官方的主题/插件依赖与官方服务器可以实现后台自动更新或升级。如果你的作品托管到Github 上则可以通过下面几个projects 方便实现W...

    Jeff

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动