zoukankan      html  css  js  c++  java
  • 京东笔试--回文素数

    题目

    现有一正整数,希望去掉这个数中某一个数字之后,可以得到一个回文素数。
    回文素数:表示这个数即是素数,也是回文数,例如:12321【一个数字也被默认为是回文数】

    C++代码

    #include <iostream>
    #include <math.h>
    using namespace std;
    
    int isPrime(int x)
    {   
    	int flag=1;
    	int k=(int)(sqrt(double(x+1)));
    	for(int i=2;i<=k;i++)
    	{
    		if(x%i==0)
    		{
    			flag=0;
    			break;
    		}
    	}
    	if(flag)
    		return 1;
    	return 0;
    }
    int isHuiwen(int x)
    {
    	int c,t=0;
    	c=x; 
    	while(c)
    	{
    		t*=10; 
    		t+=c%10; 
    		c/=10;
    	}
    	if(t==x)
    		return 1;
    	return 0;
    }
    int isHuiwenPrime(int n){
    	if(isHuiwen(n)&&isPrime(n)) 
    		return 1;
    	return 0;
    }
    int fundelete(int n){
    	int m,num;
    	int t = n;
    	while(n!=0)  
        {  
            int x=n%10;  
            n=n/10; 
            m++;  
        }  
    	for(int i= 1;i<=m;i++){
    		int q = pow(10,m-i+1);
    		int h = pow(10,m-i);
    		num = (t/q)*h+(t%h);
    		if(isHuiwenPrime(num))
    		{
    			cout<<"(回:";
    			cout<<num<<" "; 
    			return t;
    		}	 
    	}
    	return 0;   
    }
    
    
    int main()
    {
    	int a,b,count=0;
    	while(cin>>a>>b && a!=0 && b>a &&b!=0)
    	{
    		for(a=a;a<=b;a++)
    		{
    			if(fundelete(a)!=0)
    			{
    				count++;
    				cout<<"原:";
    				cout<<a<<" ";
    				cout<<")";
    			}		
    		}
    		cout<<endl;
    		cout<<"个数为:";
    		cout<<count<<endl;
    	}
    	return 0;
    } 
     
    

    结果

  • 相关阅读:
    数学—快速幂
    离散化
    造树计划——线段树
    Python map()函数
    python的discard和remove方法
    C++学习笔记之NULL vs nullptr
    哈姆雷特单词的排名
    读书笔记—《网络是怎么连接的》4.11
    滑动窗口—UVA11572 唯一的雪花 Unique Snowflakes
    javascript基础语法1.0
  • 原文地址:https://www.cnblogs.com/sinlearn/p/13449533.html
Copyright © 2011-2022 走看看