zoukankan      html  css  js  c++  java
  • hdu1043-素数回文

    http://acm.hdu.edu.cn/showproblem.php?pid=1431

    整体思想可以理解为打表,可以通过如下办法打表(但是相对比较麻烦),还可以直接使用数组,将所有数据直接存储进来,这种方法相对比较简单,可以不需要使用高效的素数法;

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    
    using namespace std;
    bool prime[9989900] ; 
    int re_prime[ 1000 ] ;
    void Prime( )//高效判断素数法:所有和数都等于N个素数的乘积
    {
        int i , j ;
       /* for( i = 5 ; i <= 10000 ; ++i )
        	prime[ i ] = 0 ;*/
        i = 2 ;
        for( j = i * i ; j < 9989900 ; j += i )
        	prime[ j ] = true ;
        for( i = 3 ; i < 10000 ; i += 2  )
        {
    		if( prime[ i ] )
    			continue ;
    		for( j = i * i ; j < 9989900 ; j += i )
    			prime[ j ] = true ;
    	}
    }   
    
    bool test( int temp )
    {
    	int a = temp ;
    	int b = 0 ;
    	while( temp )
    	{
    		b = b * 10 ;
    		b += temp % 10 ;
    		temp /= 10 ;
    	}
    	return a == b ;
    } 
    
    int main()
    {
    	int a , b , k = 0 , i , j;
    	Prime();
    	for( i = 5 ; i < 9989900 ; i += 2 )
    		if( !prime[ i ] && test( i ) )
    			re_prime[ k++ ] = i ;
    	while( scanf( "%d%d" , &a , &b ) != EOF )
    	{
    			for( i = 0 ; i < k ; ++i )
    			{
    				if( re_prime[ i ] < a )
    					continue ;
    				else if( re_prime[ i ] <= b )
    					printf( "%d
    " ,re_prime[ i ] ) ;
    				else
    					break ;
    			}
    			printf( "
    " ) ;
    	}
    }


  • 相关阅读:
    varnish4 配置文件整理
    简单谈谈数据库DML、DDL和DCL的区别
    使用mysqlbinlog恢复数据
    zabbix自定义监控项
    管理python虚拟环境的工具virtuelenvwrapper
    vim的使用
    python的虚拟环境virtualenv
    编译安装python
    Linux基础(二)
    Linux基础(一)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3191950.html
Copyright © 2011-2022 走看看