码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PAT(乙级)1091 N-自守数(JAVA)


    1.题目如下:

    如果某个数 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
    
    • 1
    • 2

    输出样例:

    3 25392
    1 25
    No
    
    • 1
    • 2
    • 3

    代码长度限制
    16 KB
    时间限制
    400 ms
    内存限制
    64 MB

    2.代码如下:

    package pat_1091;
    
    import java.io.InputStreamReader;
    import java.io.BufferedReader;
    import static java.lang.Math.*;
    
    public class TestPractice1091 {
    	public static void main(String[] args) throws Exception{
    		BufferedReader bf1=new BufferedReader(new InputStreamReader(System.in));
    		try {
    			int N=Integer.parseInt(bf1.readLine());
    			String[] numbers=bf1.readLine().split(" ");
    			//对所给的K遍历
    			for(int i=0;i<N;i++) {
    				int isSum=0;
    				int weishu=getWeiShu(Integer.parseInt(numbers[i]));
    				int num=Integer.parseInt(numbers[i]);
    				//由于限定了N<10,而且要求输出最小的N,所以从1遍历到9
    				for(int j=1;j<=9;j++) {
    					if((int)pow(num,2)*j%(pow(10,weishu))==num) {
    						System.out.println(j+" "+(int)pow(num,2)*j);
    						isSum++;
    						break;
    					}
    				}
    				//如果没有就输出“No"
    				if(isSum==0) {
    					System.out.println("No");
    				}
    			}
    			
    		}catch (Exception ex){
    			ex.getMessage();
    		}finally {
    			bf1.close();
    		}
    	}
    	
    	public static int getWeiShu(int x) {
    		int c=1;
    		while(x/10!=0) {
    			c++;
    			x=x/10;
    		}
    		return c;
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
  • 相关阅读:
    题目:2729.判断一个数是否迷人
    Nature Climate Change | 全球土壤微生物群落调控微生物呼吸对变暖的敏感性(Q10)
    Linux学习 -- shell工具的复习(cut/sed/awk/sort)
    【Java】switch-case 和 if-else 的运行效率差异
    学编程:Python入门考级必备[5]
    【装包拆包----泛型】
    【Ansible】04
    中级工程师的职称好评吗?怎么评中级工程师?需要什么材料?
    23届秋招内推‖恒生电子
    Redis第二章_实战篇_短信登录+缓存策略+秒杀+分布式锁>>
  • 原文地址:https://blog.csdn.net/Panbk/article/details/126945960
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号