1 条题解

  • 0

    C :

    #include<stdio.h>
    int ishw(int n){
    	int m=0,t,k=n;
    	while(k!=0){
    		t=k%10;
    		m=m*10+t;
    		k=k/10;
    	}
    	if(m==n){
    		return 1;
    	
    	}else{
    		return 0;
    	}
    }
    int iszs(int n){
    	int i;
    	if(n<2){
    		return 0;
    	} 
    	for(i=2;i<=n-1;i++){
    		if(n%i==0){
    			return 0;
    		}
    	}
    	return 1;
    }
    int main()
    {
    	int i;
    	for(i=10;i<=1000;i++){
    		if(ishw(i)==1&&iszs(i)==1){
    			printf("%d\n",i);
    		}
    	}
    
    
    
    
    return 0;
    }
    
    

    C++ :

    #include <cstdio>
    int main(void) {
    	const int MAXN=1001;
    	int i, j, d, h[MAXN]={1,1,0}; //1:表示下标为非质数,0表示下标为质数
    	for(i=2; i<MAXN; ++i)
    		for(j=2; i*j<MAXN; ++j) h[i*j]=1;
    	for(i=10; i<MAXN; ++i) {
    		for(j=0, d=i; d>0; d/=10) j = 10*j+d%10;
    		if(i==j && h[i]==0) printf("%d\n", i);
    	}
    	return 0;
    }
    

    Java :

    public class Main {
    
        // 判断一个数是否为回文数
        public static boolean isPalindrome(int num) {
            String str = Integer.toString(num);
            int len = str.length();
            for (int i = 0; i < len / 2; i++) {
                if (str.charAt(i) != str.charAt(len - 1 - i)) {
                    return false;
                }
            }
            return true;
        }
    
        // 判断一个数是否为素数
        public static boolean isPrime(int num) {
            if (num <= 1) {
                return false;
            }
            for (int i = 2; i <= Math.sqrt(num); i++) {
                if (num % i == 0) {
                    return false;
                }
            }
            return true;
        }
    
        public static void main(String[] args) {
            for (int i = 10; i < 1000; i++) {
                if (isPalindrome(i) && isPrime(i)) {
                    System.out.println(i);
                }
            }
        }
    }
    

    Python :

    import math
    def suShu(n):
            f = True
            for i in range (2 , int(math.sqrt(n))+1):
                    if n % i == 0:
                            f = False
                            break;
            return f and n != 1
    def hwsuShu(n):
            a = n // 100 % 10
            b = n // 10 % 10
            c = n % 10
            if n < 100:
                 return  b == c and  suShu(n);
            elif n > 100:
                 return  a == c and  suShu(n);
            else:
                 return False
    for i in range (10, 1000):
            if hwsuShu(i):
                    print(i)
    
    

    信息

    ID
    713
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者