前言
今天在牛客上刷5道题,虽然是乙级,但是对于我这个来说还是有点难。刷题道路是很艰辛的,不过还好有Bigsai的督促和讲解,我才能一天天的坚持。虽然今天发生了一点小不愉快,但是全是出于我太菜了吧!自己烦躁也变得没有耐心,学习是一个很需要毅力的事情,不管怎么样,希望自己也能慢慢变强!
bigpian
加油
Pat乙级1001A+B和C
题目链接
题目描述:
给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。
输入描述:
输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。
输出描述:
对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。
输入例子:
4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647
输出例子:
Case #1: false
Case #2: true
Case #3: true
Case #4: false
分析:
要注意的是A,B,C取值可能会很大,所以定义的时候要用long类型
ac代码为:
import java.util.Scanner;
public class Niuk1001乙级 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int T = scan.nextInt();
for(int i=1;i<=T;i++){
long A = scan.nextLong();
long B = scan.nextLong();
long C = scan.nextLong();
if(A+B>C){
System.out.println("Case #"+i+": true");
}else System.out.println("Case #"+i+": false");
}
}
}
Pat乙级1006(1016. 部分A+B )
题目链接
题目描述:
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA + PB。
输入描述:
输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。
输出描述:
在一行中输出PA + PB的值。
输入例子:
3862767 6 13530293 3
输出例子:
399
分析:
虽然看着题目很简单,但是这个题目实际上在考验你的类型转换功底。给A,B定义成字符串,给DA,DB定义为整型。用charAt()获取指定字符用来和A,B比较,如果相等,则加到字符串中,最后转换成整型相加输出。输出的时候要判断是否为空。
ac代码为:
import java.util.Scanner;
public class Niuk1006 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String PA="",PB="";
int x =0,y=