浦发银行测试笔试 3.21

第一部分:
技术笔试 5道题
第二部分:
行测 数字规律题 5道题
第三部分:
行测 逻辑推导题 5道题
第四部分:
概率题 5道题(其中有一道是问正态分布)
第五部分
代码题 2道题
代码一:
输入两个数,输出两数之和
代码二:(没有做出来)
输入两个数,输出两数之间的所有回文素数
回文素数:(代码实现)

判断是否为素数:
public static boolean isPrime(int num) {//判断是否为素数,返回值类型为boolean类型。
    for(int i=2;i<Math.sqrt(num);i++) {
            if(num%i==0) {
                return false;
            }            
        }
        return true;        
    }

判断是否为回文数:
方法一:
    static int reversal(int num) {  //反转原数
          int result = 0;
          while(num != 0){
              int lastDigit = num % 10;
              result = result * 10+ lastDigit;
              num = num / 10;
          }
          return result;
      }
    static boolean isPalindrome(int num) {  //判断是否为回文数
          return num == reversal(num);
      }

方法二: 
  public static boolean isHuiwen(int num) {//判断是否为回文数  方法二
          String num1=String.valueOf(num);
          int i=num1.length();    
          if(i%2==0) {
              for(int j=i/2,k=i/2+1;j>=0&&k<i;j--,k++) {
                  if(num1.charAt(j)!=num1.charAt(k)) {
                      return false;
                  }
              }
              return true;
          }else {
              for(int j=i/2-1,k=i/2+1;j>=0&&k<i;j--,k++) {
                  if(num1.charAt(j)!=num1.charAt(k)) {
                      return false;
                  }

              }
              return true;
          }

      }

主函数:

    public static void main(String[] args) {
        // TODO Auto-generated method stub        
        Scanner input=new Scanner(System.in);
        System.out.println("输入两个数:");
        int a=input.nextInt();
        int b=input.nextInt();
        for(int i=a;i<=b;i++) {
            if(isPrime(i)&&isHuiwen(i)&&isPalindrome(i)){
                //isHuiwen(i)和isPalindrome(i)都是判断是否为回文数的,二者的作用一样
                System.out.print(i+" ");
            }
        }        
    }
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务