PAT乙级Basic Level真题

  • 1. 1001 A+B和C (15)
    • 1.1 题目
    • 1.2 题目解析
    • 1.3 程序
  • 2. 数字分类 (20)
    • 2.1 题目
    • 2.2 题目解析
    • 2.3 程序
  • 3. 数素数 (20)
    • 3.1 题目
    • 3.2 题目解读
    • 3.3 程序

为了记录日常的Java学习,我专门开了这个帖子,记下自己的刷题之路。此帖子的题目来源于牛客网,详见。

1. 1001 A+B和C (15)

1.1 题目

给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。


可点击此处查看原题目

1.2 题目解析

这个题目需要注意的大概有一下几点:

  1. 首先,应了解二维数组的创建规则,学会用二维数组存储输入的测试测试用例;
  2. 其次,怎么从键盘读取输入数据,正确使用Scanner类也是考察重点;
  3. 最后,注意整数的范围,不能使用INT型表示这些整数,可用double、long型。

1.3 程序

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int numtest=sc.nextInt();Long [][]testdata=new Long[numtest][3];for (int j=0;j<numtest;j++){for (int k=0;k<3;k++){testdata[j][k]=sc.nextLong();}}for (int i=0;i<numtest;i++){if (testdata[i][0]+testdata[i][1]>testdata[i][2])System.out.println("Case #"+(i+1)+": true");elseSystem.out.println("Case #"+(i+1)+": false");}}
}

2. 数字分类 (20)

2.1 题目

给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:

A1 = 能被5整除的数字中所有偶数的和;
A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4…;
A3 = 被5除后余2的数字的个数;
A4 = 被5除后余3的数字的平均数,精确到小数点后1位;
A5 = 被5除后余4的数字中最大数字。

点击此处查看原题目

2.2 题目解析

这个题目需要注意的大概有一下几点:

  1. 首先,应清楚什么时候应该输出N;
  2. 其次,一定要注意最后一个输出后面不带空格;
  3. 最后,注一定要注意怎么实现除法保留一位小数,而且要四舍五入的保留小数,这个地方很容易入坑。

2.3 程序

import java.util.Scanner;public class Main{public static void main (String[] args){Scanner sc=new Scanner(System.in);int N=sc.nextInt();int[] test=new int[N];int test1=0;int j=2;int test2=0;int test3=0;int test4=0;int k=0;int test5=0;for(int i=0;i<N;i++){test[i]=sc.nextInt();}for(int i=0;i<N;i++){if(test[i]%5==0&test[i]%2==0)test1=test1+test[i];else if(test[i]%5==1){j++;if(j%2!=0)test2=test2+test[i];elsetest2=test2-test[i];}else if(test[i]%5==2){test3=test3+1;}else if(test[i]%5==3){test4=test4+test[i];k++;}else if(test[i]%5==4&test5<test[i])test5=test[i];elsecontinue;}if (test1==0)System.out.print("N"+" ");elseSystem.out.print(test1+" ");if (test2==0)System.out.print("N"+" ");elseSystem.out.print(test2+" ");if (test3==0)System.out.print("N"+" ");elseSystem.out.print(test3+" ");if (test4!=0&k!=0){int data1=test4/k;int data2=test4%k;int data3=data2*10/k;double data=data1+data3*0.1;System.out.print(data+" ");}elseSystem.out.print("N"+" ");if (test5==0)System.out.print("N");elseSystem.out.print(test5);}
}

3. 数素数 (20)

3.1 题目

  • 题目描述
    令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。

  • 输入描述
    输入在一行中给出M和N,其间以空格分隔。

  • 输出描述
    输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

  • 输入例子
    5 27

  • 输出例子
    11 13 17 19 23 29 31 37 41 43
    47 53 59 61 67 71 73 79 83 89
    97 101 103

3.2 题目解读

  • 需要注意的是素数的概念,大于1的只能被1和其本身整除的数,所以1不是素数,2是素数。
  • 注意运行时不要超时,所以搜索的时候要尽量缩小搜索的范围。

3.3 程序

import java.util.Scanner;public class Main{public static void main(String[] args){int allnum=0;int mm=0;Scanner sc=new Scanner(System.in);int[] itest=new int[2];for(int i=0;i<2;i++){itest[i]=sc.nextInt();}int num=itest[1]-itest[0]+1;int[] data=new int[num];//判断是不是素数for(int j=2;j<1000000;j++){int ans=0;if(j==2|j==3)ans=1;else {for(int k=2;k<=(int)Math.sqrt(j);k++) {if(j%k==0) {break;}else if(j%k!=0&k<(int)Math.sqrt(j)){continue;}else ans=1;}}if(ans==1) {allnum=allnum+1;if(allnum>=itest[0]&allnum<=itest[1]){data[mm]=j;mm=mm+1;}}}for(int m=0;m<num;m++){if((m+1)%10==0)System.out.println(data[m]);else if((m+1)==num)System.out.println(data[m]);elseSystem.out.print(data[m]+" ");}}
}

牛客网—Java练习题相关推荐

  1. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  2. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  3. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  4. 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  5. 牛客网Java选择题练习

    牛客网Java选择题练习 2021/1/12 2021/1/13 2021/1/14 2021/1/16 2021/1/17 2021/1/18 2021/1/20 2021/1/21 2021/1/ ...

  6. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  7. 牛客网-Java专项练习11

    牛客网-Java专项练习11 1.关于抽象类和接口叙述正确的是? ( ) A.抽象类和接口都能实例化的 B.抽象类不能实现接口 C.抽象类方法的访问权限默认都是public D.接口方法的访问权限默认 ...

  8. 牛客网java刷题笔记2019-1-4

    牛客网java刷题笔记 2019-1-4 1.java中可以用类中构造器调用其他类构造器(这个和C++中构造函数很类似)用于初始化程序变量值, 构造器和方法的区别: 功能和作用的不同 构造器是为了创建 ...

  9. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  10. 【牛客网java练习错题笔记】 --Java基础打卡day002

    [牛客网java练习错题笔记] --Java基础打卡day002 1 根据以下代码段,正确的是 2 在Java中,在同一包内,类Cat里面有个公共方法sleep(),该方法有static修饰,所以可以 ...

最新文章

  1. 图片服务器的url hash架构
  2. cytoscape插件centiscape的使用
  3. oracle em登陆不了,账户密码过期
  4. solaris10下允许root通过telnet远程登录
  5. 我手撸了一个划线翻译工具!
  6. SGU 186.The Chain
  7. 【Flink】JobManager responsible for xx lost the leadership zk变动导致重启
  8. [导入] 用java把页面日期控件写出来
  9. 论文阅读(XiangBai——【CVPR2017】Detecting Oriented Text in Natural Images by Linking Segments)...
  10. 全国地名联动选择的程序|地名三级联动(原创JS无数据库19K优化版)
  11. 数字后端基本概念介绍Wire
  12. ADSL共享上网(简单方法)
  13. html页面在线预览PDF文件
  14. OSChina 周日乱弹 ——程序员在家的地位
  15. Siteground和Bluehost对比,我花了7天时间研究出了结果
  16. 开机后黑屏看不到桌面_开机后黑屏看不到桌面怎么解决
  17. PyQt5之进度条:QProgressBar
  18. 第三章 基本数据类型-字符串类型认识
  19. python tkinter库 密码实时显示_python tkinter库实现气泡屏保和锁屏
  20. Machine Learning课堂笔记之Computing Parameters Analytically

热门文章

  1. 基于centos7的virtual box虚拟机lede和ikuai的多拨配置
  2. Cisco服务器硬盘状态jbod,2018-11-06 JBOD模式下LSI9361RAID卡操作步骤
  3. Android 获取ICCID,IMEI
  4. Linux如何修改只读文件(以设置自动连网为例)
  5. Oracle Class6-1. PL/SQL 简介(数据类型,逻辑比较,控制结构,错误处理)
  6. cadence如何导入gds_如何将Cadence的原理图和PCB转成PADS
  7. 今日话题:蜗居在大城市的生活
  8. 贪心算法---Huffman编码---神秘电报密码
  9. android Error obtaining UI hierarchy
  10. 时间序列预测系列文章总结(代码使用方法)