精华内容
下载资源
问答
  • 可逆素数

    2021-04-23 18:21:49
    请从小到大输出所有4位数的可逆素数可逆素数指: 一个素数将其各位数字的顺序倒过来构成的反序数也是素数。 输入格式: 无 输出格式: 一行中以空格间隔输出可逆素数,行尾无空格。行末尾无多余空格和换行 输入样例: ...

    请从小到大输出所有4位数的可逆素数。可逆素数指: 一个素数将其各位数字的顺序倒过来构成的反序数也是素数。

    输入格式:

    输出格式:
    一行中以空格间隔输出可逆素数,行尾无空格。行末尾无多余空格和换行

    输入样例:

    输出样例:

    题意很简单 大意就是在1000-9999中判断出素数 再从这里面数出可逆素数
    我想说的是素数筛 必须从0-9999判断 不然它的可逆素数可能不在1000-9999范围里 以此为戒

    #include <stdio.h>
    #include <string.h>
    #include<algorithm>
    #include<iostream>
    #include<math.h>
    #include<bits/stdc++.h>
    using namespace std;
    const int mod=1e9+7;
    const int N=1e5+10;
    int b,c,d,e,k;
    int book[N];
    int check(int x)
    {
        b=x/1000;
        c=x/100%10;
        d=x/10%10;
        e=x%10;
      //  printf("@@@@%d %d %d %d\n",b,c,d,e);
        if(book[e*1000+d*100+c*10+b]==0)
           return 1;
        return 0;
    }
    void prime()   //一定要写对
    {
        memset(book,0,sizeof(book));
        k=0;
        book[0]=1;  ///
        book[1]=1; ///
        for(int i=2; i<=N; i++) ///
        {
            if(!book[i])
            {
                  for(int j=2*i; j<=N; j+=i)
                    book[j]=1;
            }
        }
    }
    int main()
    {
        int flag=0;
        k=0;
        prime();
        for(int i=1000; i<=9999; i++)
        {
            if(!book[i]&&check(i))
            {
                if(!flag)
                {
                    printf("%d",i);
                    flag=1;
                }
                else
                    printf(" %d",i);
            }
        }
        return 0;
    }
    
    展开全文
  • C语言可逆素数教程引导语:可逆素数是一个素数将其各位数字的顺序倒过来构成的反序数也是素数。以下是百分网小编分享给大家的C语言可逆素数教程,欢迎参考学习!求四位的可逆素数可逆素数指:一个素数将其各位数字...

    C语言可逆素数教程

    引导语:可逆素数是一个素数将其各位数字的顺序倒过来构成的反序数也是素数。以下是百分网小编分享给大家的C语言可逆素数教程,欢迎参考学习!

    求四位的可逆素数。可逆素数指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。

    *问题分析与算法设计

    本题的重点不是判断素数的方法,而是求一个整数的`反序数。求反序数的方法是从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字。

    *程序说明与注释

    #include

    #include

    int num(int number);

    int ok(int number);

    int main()

    {

    int i,count;

    printf("There are invertable primes with 4 digits: \n");

    for(count=0,i=1001;i<9999;i+=2) //穷举全部的奇数

    {

    if(num(i)) //若是可逆素数,则输出

    printf(count%9 ? "%3d:%d" : "%3d:%d\n",++count,i);

    }

    return 0;

    }

    int num(int number)

    {

    int i,j;

    if(!ok(number))return 0; //判断是否为素数

    for(i=number,j=0;i>0;i/=10) //按位将整数倒过来,产生反序数

    {

    j=j*10 + i%10;

    }

    if(number

    {

    if(!ok(i)) //判断对应的反序数是否为可逆素数

    {

    return 0;

    }

    else

    {

    return 1; //若是可逆数素数,则返回1

    }

    }

    else

    {

    return 0;

    }

    getchar();

    return 0;

    }

    int ok(int number)

    {

    int i,j;

    if(number%2 ==0) //判断是否为素数

    return 0;

    j= sqrt((double)number) +1 ; //取整数的平方根为判断的上限

    for(i=3;i

    {

    if(number %i ==0) //若为素数则返回1,否则返回0

    return 0;

    }

    return 1;

    }

    *思考题

    求1000以内的孪生素数。孪生素数是指:若a为素数,且a+2也是素数,则素数a和a+2称为孪生素数。

    【C语言可逆素数教程】相关文章:

    展开全文
  • 编写程序判断可逆素数,若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断。 import java.util....

    编写程序判断可逆素数,若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断。

    import java.util.Scanner;
    
    public class Test2_6_ztk {
        public static void main(String args[]){
            int num=1;
            int k=0;
            int f=0;
            int a[]=new int[100];
            Scanner in=new Scanner(System.in);
            int x=in.nextInt();
            if(isPrimeNum(x)==false)
            {
                System.out.println("该数不是可逆素数");
                System.exit(0);
            }
            else
            for(int i=0;;i++){
                if(x!=0){
                    a[i]=x%10;
                    x=x/10;
                    num*=10;
                    k++;
                }
                else
                    break;
    
            }
            for(int i=0;i<k;i++){
                f=f*10+a[i];
            }
            System.out.println("该数反转后是:"+f);
            if(isPrimeNum(f))
            {
                System.out.println("该数是可逆素数");
            }
            else
                System.out.println("该数不是可逆素数");
        }
    
        public static boolean isPrimeNum(int a){//判断是否是素数
            if(a<=1)
                return false;
            for(int i=2 ; i<=Math.sqrt(a) ; i++){
                if(a%i==0){
                    return false;
                }
            }
            return true;
        }
    }
    
    

    Java中定义数组的方式:int a[]=new int[100] //a是数组的名字,int是数组中存的类型

    判断一个数是否是素数的办法:

     public static boolean isPrimeNum(int a){//判断是否是素数
            if(a<=1)
                return false;
            for(int i=2 ; i<=Math.sqrt(a) ; i++){
                if(a%i==0){
                    return false;
                }
            }
            return true;
        }
    

    另外Java中的弹出提示框输入及输出

    String s= JOptionPane.showInputDialog(null,"请输入三位整数");//输入字符型的数据,如果使用可以进行转换
    JOptionPane.showMessageDialog(null,"交换后的正整数的值是:"+e);//输出
    
    展开全文
  • 判断可逆素数

    千次阅读 2019-12-09 19:30:06
    可逆素数 首先要知道什么是可逆素数 素数:在大于1的自然数中,除了1和它自身以外,不能被其他自然数整除的数。 可逆素数:将一个素数的各个位置的数字倒置过来构成的反序数仍是素数,则该数为可逆素数。 以下为代码...

    可逆素数

    首先要知道什么是可逆素数

    素数:在大于1的自然数中,除了1和它自身以外,不能被其他自然数整除的数。

    可逆素数:将一个素数的各个位置的数字倒置过来构成的反序数仍是素数,则该数为可逆素数。

    以下为代码实现(C语言):

    #include <stdio.h>
    int pd(int x){//判断是否为可逆素数 
    	int i,y=0,flag=0;
    	if(x<2) printf("no");//小于2的整数不考虑 
    	if(x==2) printf("yes");//2为可逆素数 
    	for(i=2;i<x;i++){//判断传入的整数是否为素数 
    		if(x%i==0) {//该数存在除了1与它本身的整数可以将它整除,即该整数不是素数 
    			printf("no");break;	// 则输出no并跳出for循环 ,此时flag==0 
    		} else{
    			if(i==x-1){//for循环执行到最后一次还未跳出,证明该数仅有1与它本身可以将它整除  
    				flag=1;//即该数为素数 ,flag==1 
    			}
    		}
    	}//end for 
    	if(flag==1){//该整数为素数,进一步判断它是否为逆素数 
    		while(x>0){//将该整数各位数字颠倒,并把颠倒后的数赋值给y 
    		y=y*10+x%10;
    		x=x/10;
    		}
    		for(i=2;i<y;i++){//判断颠倒后的整数是否为素数 ,即原数是否为可逆素数 
    		if(y%i==0){
    			printf("no");break;	//不是可逆素数 
    		} 		
    		else{
    			if(i==y-1){//for循环执行到最后一次还未跳出,证明该数仅有1与它本身可以将它整除
    				printf("yes");//即颠倒后的数仍为素数,即原数为可逆素数 
    			} 
    		} 
    		}
    	}			
    }
    int main()
    {
    	int x;
    	scanf("%d",&x);
    	pd(x);
    } 
    

    也可以这样写:

    #include <stdio.h>
    int pd(int x){//判断是否为素数 
    	int i;
    	if(x<2) return 0;
    	if(x==2) return 1;
    	for(i=2;i<x;i++)
    		if(x%i==0) return 0;			
    	return 1;
    }
    int ns(int x){//逆序 
    	int y=0;
    	while(x>0){
    		y=y*10+x%10;
    		x=x/10;
    	}
    	return y;
    }
    int main()
    {
    	int x;
    	scanf("%d",&x);
    	int y=ns(x);
    	if(pd(x)==0){
    		printf("no");
    	}else{
    		if(pd(y)==0){
    			printf("no");
    		}else{
    			printf("yes");
    		}
    	}
    } 
    

    欢迎大家指正

    展开全文
  • 可逆素数对c语言

    2021-05-17 16:52:29
    可逆素数对c语言题目输入输出样例c语言代码 题目 如果一个素数的逆序数(将其各位数字倒过来写形成的数)也是素数,则称为可逆素数,或称为可逆素数对。给定一个n,编程求解有多少对n位可逆素数对。 输入输出样例 ...
  • H1 7-3可逆素数

    2020-01-29 09:56:18
    可逆素数
  • python练习:可逆素数

    千次阅读 2019-12-12 13:47:32
    题目:可逆素数 问题描述: 编写程序找出1 ~ 900之间的所有可逆素数可逆素数是指一个素数的各位数值顺序颠倒后得到的数仍为素数,如113、311)。 解题思路 1、找到1-900之间所有素数并储存到一个表里面 2、迭代所有...
  • 求四位的可逆素数可逆素数指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。*问题分析与算法设计本题的重点不是判断素数的方法,而是求一个整数的反序数。求反序数的方法是从整数的末尾依次截取最后一...
  • [Java]判断可逆素数

    2021-03-20 10:33:16
    判断可逆素数 【问题描述】若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断 【输入形式】用户在第...
  • 可逆素数(Java)

    2020-01-02 12:25:32
    请从小到大输出所有4位数的可逆素数可逆素数指: 一个素数将其各位数字的顺序倒过来构成的反序数也是素数。 输入格式: 无 输出格式: 一行中以空格间隔输出可逆素数,行尾无空格。行末尾无多余空格和换行 输入...
  • 趣味素数-可逆素数-java

    千次阅读 2016-04-24 08:38:18
    编写程序找出1-1000之间的所有可逆素数可逆素数是指一个素数的各位数值顺序颠倒后得到的数仍为素数,如133、311)。 public class Main { public static void main(String[]Args){ int count=0; //计数 ...
  • 【Java】可逆素数

    2019-06-22 21:41:09
    可逆素数是指将一个素数的各位数字的顺序倒过来倒过来构成的反序数字也是素数,求1到100之间的可逆素数 如:17、71 79、 97 代码实现: public class 可逆素数 { public static boolean IsPrime(int n) { for (int...
  • 存放可逆素数及素数分解后的各位数字,重排矩阵。
  • 特殊的素数-可逆素数

    2019-12-23 22:55:43
    /*可逆素数是指一个素数的各位数字顺序地倒过来构成的数仍然是素数*/ #include<stdio.h> #include<math.h> main() { int ss(int); int num,num2,a,b,c,d,m,n,count=0; for(num=1000;num<10000;...
  • 四位可逆素数

    千次阅读 2016-07-16 12:21:28
    /* * 四位可逆素数:将一个四位数的素数进行反序后其依然是一个素数 * StoryMonster 2016/7/12 */
  • 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。...求10000以内的所有可逆素数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,515
精华内容 1,006
关键字:

可逆素数