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;
    } 
     
    

    结果

  • 相关阅读:
    ActiveReports打印的问题
    HTML高级应用
    一些常用的asp.net技巧焦点篇
    数据库操作
    [ASP.NET]在后台引用JavaScript
    点击TextBox复制其中内容
    VB.Net基本语句(推荐)
    ADO 对象
    控件不获得焦点
    32款网站优化工具
  • 原文地址:https://www.cnblogs.com/sinlearn/p/13449533.html
Copyright © 2011-2022 走看看