关闭

神奇数

2536人阅读 评论(2) 收藏 举报
分类:

给出一个区间[a, b],计算区间内“神奇数”的个数。
神奇数的定义:存在不同位置的两个数位,组成一个两位数(且不含前导0),且这个两位数为质数。
比如:153,可以使用数字3和数字1组成13,13是质数,满足神奇数。同样153可以找到31和53也为质数,只要找到一个质数即满足神奇数。
输入描述:
输入为两个整数a和b,代表[a, b]区间 (1 ≤ a ≤ b ≤ 10000)。

输出描述:
输出为一个整数,表示区间内满足条件的整数个数

输入例子:
11 20

输出例子:
6


AC代码:

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static boolean IsPrime(int a){
        boolean flag = true;
        if ( a <= 1){
            flag = false;
        }else if(a == 2){
            flag = true;
        }else{
            for (int i = 2 ; i < a ; i++){
                if ( a % i == 0){
                    flag = false;
                    break;
                }
            }
        }
        return flag;
    }

    public static boolean check(int a){
        int[] A = new int[5];
        Arrays.fill(A, 0);
        int cnt = 0;
        while(a != 0){
            A[cnt++] = a % 10;
            a /= 10;
        }
        /*for ( int i = 0 ; i < cnt ; i++){
            System.out.print(A[i]+" ");
        }*/
        //System.out.println();
        for (int i = 0 ; i < cnt ; i++){
            for ( int j = 0 ; j < cnt && j != i ; j++){
                int tmp1 = A[i]*10 + A[j];
                int tmp2 = A[j]*10 + A[i];
            //  System.out.println(tmp1+"    "+tmp2);
                if (IsPrime(tmp1) && tmp1 > 10){
                //  System.out.println(tmp1+"是神奇数");
                    return true;
                }
                if (IsPrime(tmp2) && tmp2 > 10){
                //  System.out.println(tmp2+"是神奇数");
                    return true;
                }
            }
        }
        return false;
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        int start = in.nextInt();
        int end = in.nextInt();
        int cnt = 0;
        for ( int i = start ; i <= end ; i++){
            if (check(i)){
                cnt++;
            }
        }
        System.out.println(cnt);

        in.close();
    }

}
1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

2014编程之美:神奇的数列

时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 大神同学是一个热爱数字的孩子,她无时无刻不在思考生活与数学的联系。有一天,她发现其实公历的设计是有讲究的。 每4年就会多闰...
  • WishLifeHappy
  • WishLifeHappy
  • 2014-04-20 17:11
  • 1378

神奇数-Java-牛客模拟三

package 模拟三; import java.util.ArrayList; import java.util.Scanner; /** * 题目描述:给出一个区间[a, b],计算区间内“...
  • qq_30507287
  • qq_30507287
  • 2017-05-26 21:38
  • 618

求一段区间内素数的个数

CSU1030: 素数槽 Description        处于相邻的两个素数p和p + n之间的n - 1个连续的合数所组成的序列我们将其称为长度为n的素数槽。例如,‹24, 25, 26, ...
  • zw1996
  • zw1996
  • 2016-03-24 16:57
  • 2123

奇数个的那个数(异或问题)

 Description 给定些数字,这些数中只有一个数出现了奇数次,找出这个数。 Input 每组数据第一行n表示数字个数,1 接下来n行每行一个32位有符号整数。 ...
  • G_rass
  • G_rass
  • 2015-05-16 19:51
  • 1081

BZOJ 1303 [CQOI2009] 中位数图 题解与分析

1303: [CQOI2009]中位数图 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 909  Solved: 581 [Submit][...
  • u011400953
  • u011400953
  • 2013-12-17 16:55
  • 1476

bzoj 1303 中位数 题解

4.中位数 (median.pas/c/cpp) 【问题描述】 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 【输入】...
  • Eirlys_North
  • Eirlys_North
  • 2016-11-10 21:52
  • 428

数据结构和算法之数组奇数、偶数分离

今日,博主在面试一家外企的时候,要求白板写程序。其中就有一道算法设计题目,下面就来分享一下这道题的算法思路和相关示例代码。         题目:要求将一个整形数组中的奇数和偶数进行分离,偶数在前面...
  • helinlin007
  • helinlin007
  • 2016-06-04 16:44
  • 7624

趣题:选出最多的大小为奇数的子集,使得两两的交集大小都是偶数

在集合 {1, 2, ..., n} 中选出尽可能多的子集,使得每个子集所含的元素个数都是奇数,但是任意两个子集的交集都含有偶数个元素。那么,我们最多能够选出多少个这样的子集来?      容易看出...
  • shengxiaweizhi
  • shengxiaweizhi
  • 2015-05-24 15:29
  • 431

网易面试题之小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求

小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。例如:f(44) = 11. 现在给出一个N,需要求出 f(1)...
  • likailonghaha
  • likailonghaha
  • 2016-11-24 21:18
  • 1304

五十道编程小题目 --- 43 求0—7所能组成的奇数个数(排列组合) java

【程序43】  题目:求0—7所能组成的奇数个数。  算法思想: 这个问题其实是一个排列组合的问题,设这个数为sun=a1a2a3a4a5a6a7a8,a1-a8表示这个数的某位的数...
  • wangnanwlw
  • wangnanwlw
  • 2016-09-09 17:23
  • 2806
    个人资料
    • 访问:138589次
    • 积分:4744
    • 等级:
    • 排名:第7079名
    • 原创:327篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条
    博客专栏
    最新评论