立志用更少的代码做更高效的表达


PAT乙级最优题解——>传送门


如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”。例如 3×92^​2=25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。

本题就请你编写程序判断一个给定的数字是否关于某个 N 是 N-自守数。

输入格式:
输入在第一行中给出正整数 M(≤20),随后一行给出 M 个待检测的、不超过 1000 的正整数。

输出格式:
对每个需要检测的数字,如果它是 N-自守数就在一行中输出最小的 N 和 NK^​2的值,以一个空格隔开;否则输出 No。注意题目保证 N<10。

输入样例:
3
92 5 233
输出样例:
3 25392
1 25
No


解法一:常规解法

#include<bits/stdc++.h>
using namespace std;
int main() {int n; cin >> n;while(n--) {int x; cin >> x;for(int i = 1; i < 10; i++) {int k = i*x*x;int num = 1;while(num != 10000) {num *= 10;if(k%num == x) {cout << i << ' ' << k << '\n';goto loop;} }}cout << "No" << '\n';loop:;}
return 0; }

解法二、字符串解法

#include<bits/stdc++.h>
using namespace std;
int main() {int n; cin >> n;while(n--) {int x; cin >> x;bool flag = false;for(int i = 1; i < 10; i++) {int k = i*x*x;stringstream ss; string s1, s2; ss << k; ss >> s1; ss.clear();ss << x; ss >> s2; ss.clear();int find1 = s1.rfind(s2);if(find1+s2.length() == s1.length()) {cout << i << ' ' << k << '\n';flag = true; break;}}if(!flag) cout << "No" << '\n';}return 0;
}

耗时


每日一句

要活成两种样子,不发光的时候,都是在为发光做准备。

【简便解法】1091 N-自守数 (15分)相关推荐

  1. C++学习之路 | PTA乙级—— 1091 N-自守数 (15 分)(精简)

    1091 N-自守数 (15 分) 如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为"N-自守数".例如 3×92​2​​=25392,而 2539 ...

  2. 1091 N-自守数 (15分)

    如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为"N-自守数".例如 3×92​2​​=25392,而 25392 的末尾两位正好是 92,所以 9 ...

  3. 【PAT乙级】1091 N-自守数 (15 分)

    题目地址 #include<cstdio> #include<iostream> #include<cmath> using namespace std; int ...

  4. 【PAT乙级】1096 大美数 (15 分) DFS回溯解法

    题目 1096 大美数 (15 分) 若正整数 N 可以整除它的 4 个不同正因数之和,则称这样的正整数为"大美数".本题就要求你判断任一给定的正整数是否是"大美数&qu ...

  5. 7-3 方格取数 (15 分)

    7-3 方格取数 (15 分) 在一个有 m×n 个方格的棋盘中,每个方格中有一个正整数. 现要从方格中取数,使任意2个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. 输入 ...

  6. 7-55 求整数序列中出现次数最多的数 (15 分)

    7-55 求整数序列中出现次数最多的数 (15 分) 本题要求统计一个整型序列中出现次数最多的整数及其出现次数. 输入格式: 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数. ...

  7. 【PTA乙级】【1096 大美数 (15 分)】

    2022年3月6日22:23:47 文章目录 2022年3月6日22:23:47 1096 大美数 (15 分) 1.[题目描述] 2.[题解] 1096 大美数 (15 分) 1.[题目描述] 题目 ...

  8. PAT 1096 大美数 (15 分) c语言

    不得不说这道题有一点阴险,阴险之处在于a整除b是b%a==0,而就算搞错了也会有两个测试点是对的,题干里的测试例也是对的,就很难发现自己弄错了.解决这个问题以后就比较容易了. 1096 大美数 (15 ...

  9. 1096 大美数 (15 分)(测试点有坑)

    题目链接: 题目详情 - 1096 大美数 (15 分) (pintia.cn)https://pintia.cn/problem-sets/994805260223102976/problems/1 ...

最新文章

  1. 设计模式笔记之五:观察者模式
  2. 分布式拒绝服务攻击(DDoS)原理及防范
  3. java与平台无关的原因
  4. 【华为云技术分享】云图说 | 华为云智能边缘平台IEF:智能边缘 让AI触手可及
  5. websocket协议中获取 http 请求字符串
  6. linux下的malloc申请的是虚拟还是物理的,关于malloc申请内存
  7. 揭开OpenStack 统计资源和资源调度的面纱
  8. Codeforces 994 C - Two Squares
  9. nvm npm node
  10. 曼昆经济学原理_第五版[1].txt.doc
  11. 周末闲来——2048游戏开发
  12. java英文面试常见问题归纳
  13. 使用Typora添加数学公式
  14. 第四届蓝桥杯省赛C++A组 剪格子
  15. 做android移动开发的一点体会
  16. JavaWeb(JSP中的JSTL核心标签学习) c:foreach报错500? 错误原因:ArrayList<String> people = new ArrayList<>()
  17. 历经四个月,谷歌联盟的PIN码问题终于解决了
  18. Javascript异常(exception)处理机制详解 JS、异常Error属性
  19. 如何在webots中绘制运动轨迹
  20. Antlr Tool与antlr runtime的版本一致性问题

热门文章

  1. OkHttp3中的HTTP/2首部压缩
  2. 第19讲:Pyppeteer 爬取实战
  3. 来自技术人的呐喊:回归本心,远离内卷
  4. OTT交付如何超越传统广电交付,为用户带来高质量视频网络——对话Synamedia流媒体技术发展经理卢彦林...
  5. Google Lyra Android版开源 支持3kbps语音聊天
  6. CES 2021线上大会前瞻、Roblox 估值近300亿美元、联想将推出企业级 AR 眼镜等|Decode the Week...
  7. Zoom计划于4月IPO
  8. 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树
  9. 企业微信万亿级日志检索系统
  10. TDSQL 全时态数据库系统--核心技术