10 条题解

  • 5
    @ 2025-4-4 11:45:30

    我就看谁敢抄

    b = int(input())
    a = [11,101,131,151,181,191,313,353,373,383,727,757,787,797,919,929,10301,10501,10601,11311,11411,12421,12721,12821,13331,13831,13931,14341,14741,15451,15551,16061,16361,16561,16661,17471,17971,18181,18481,19391,19891,19991,30103,30203,30403,30703,30803,31013,31513,32323,32423,33533,34543,34843,35053,35153,35353,35753,36263,36563,37273,37573,38083,38183,38783,39293,70207,70507,70607,71317,71917,72227,72727,73037,73237,73637,74047,74747,75557,76367,76667,77377,77477,77977,78487,78787,78887,79397,79697,79997,90709,91019,93139,93239,93739,94049,94349,94649,94849,94949,95959,96269,96469,96769,97379,97579,97879,98389,98689]
    for i in a:
        if i < b:
            print(i)
    
    • @ 2025-4-13 16:41:19

      打表大蛇

  • 2
    @ 2021-5-24 13:43:03

    C++ :

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    #define Maxn 1009
    using namespace std;
    int dat[Maxn],len0=0,n;
    bool isPrim(int m);
    int main()
    {
        scanf("%d",&n);
        dat[len0]=11;
        for(int i1=1; i1<=9; i1=i1+2){
            for(int i2=0; i2<=9; i2++){
                int m=i1*101+i2*10;
                if(isPrim(m)){
                    dat[++len0]=m;
                }
            }
        }
    
        for(int i1=1; i1<=9; i1=i1+2){
            for(int i2=0; i2<=9; i2++){
                int m=i1*1001+i2*110;
                if(isPrim(m)){
                    dat[++len0]=m;
                }
            }
        }
        for(int i=0; i<=len0; i++){
            if(dat[i]<=n){
                printf("%d\n",dat[i]);
            }else{
                break;
            }
        }
        return 0;
    }
    
    bool isPrim(int m)
    {
        bool flag=true;
        int k=sqrt(m)+0.05;
        for(int i=2; i<=k; i++){
            if(m%i==0){
                flag=false;
                break;
            }
        }
        return flag;
    }
    
    
    • 1
      @ 2023-2-1 16:32:58

      本人不是很喜欢数学方法判断回文数,而是喜欢字符串的翻转(包括在C++中),尽管字符串的操作需要较高的时间复杂度

      def is_prime(n):
          for i in range(2,int(n**0.5)+1):
              if n%i == 0:
                  return False
          return True
      
      def is_huiwen(n):
          s = str(n)
          if s == s[::-1]:
              return True
          else:
              return False
      
      n = int(input())
      for i in range(10,n+1):
          if is_huiwen(i) and  is_prime(i):
              print(i)
      
      
      
      • 1
        @ 2022-7-14 11:01:44
        #include<bits/stdc++.h>
        using namespace std;
        bool isPalindrome(int x) {
            long revertedNumber = 0; 
            long t = x;
            if(x < 0 || (x % 10 == 0 && x != 0)) 
                    return false;//排除小于0与末尾为0的情况
            while(t)
            {
                revertedNumber=10*revertedNumber+ (t % 10);
                t /= 10;
            }//将数倒转(把这个理解了基本上就做出来了)
                return x == revertedNumber;//比较是否相同
        }//回文数判断
        int main()
        {
            int n;
            cin>>n;
        	int a[100001]={0};
        	for(int i=2;i<=n;i++)
        	{
        		a[i]=i;
        	}
        	for(int i=2;i<=n;i++)
        	{
        		for(int j=2;j<=sqrt(i);j++)
        		{
        			if(i%j==0)
        			{
        				a[i]=0;
        				break;
        			}
        			
        		}
        		if(a[i]!=0)//质数判断
        		{
        			if(isPalindrome(a[i])&&a[i]>10)cout<<a[i]<<endl;
        		}//回文数均大于10
        	}
        }
        
        • 0
          @ 2025-4-20 17:10:00
          x=int(input())
          def dj(x):
              r=True
              for a in range(2,int(x**0.5)+1):
                  if x%a==0:
                      r=False
                      break
              return(r)
          def op(i):
              s=str(i)[::-1]
              if s==str(i):
                  return(True)
              else:
                  return(False)
          for i in range(10,x+1):
              if dj(i) and op(i):
                  print(i)
          
          • 0
            @ 2025-4-9 12:10:14
            def zxw(x):
                for i in range(2,int(x**0.5)+1):#缩时间
                    if x%i==0:
                        return 0
                s=str(x)
                if s==s[::-1]:#转字符串类型判断回文;再次感叹Python内置包多就是方便
                    return 1
                return 0
            n=int(input())
            for j in range(11,n):
                if zxw(j)==True:
                    print(j)
            
            
            • 0
              @ 2025-4-9 12:06:35
              def check(x):
                  if x==1 or x==0:
                      return "NO"
                  else:
                      for i in range(2,int(x**0.5)+1):
                          if x%i==0:
                              return "NO"
                      return "YES"
              def huiwen(x):
                  a=str(x)
                  for i in range(len(a)//2):
                      if a[::-1]==a:
                          return 1
              n=int(input())
              for i in range(11,n+1):
                  if check(i)=="YES"and huiwen(i)==1:
                      print(i)
              
              • 0
                @ 2025-4-4 21:46:39
                def ss(x):
                    sum = True
                    for m in range(2, x):
                        if x % m == 0:
                            sum = False
                            break
                    return sum
                def hws(a):
                    b = str(a)
                    if b[::] == b[::-1]:
                        return True
                    else:
                        return False
                m = int(input())
                for i in range(10,m+1):
                    if ss(i) and hws(i):
                        print(i)
                
                
                • 0
                  @ 2023-8-13 19:06:44

                  python的哦~

                  n=int(input())
                  #n=200
                  x=[]
                  for i in range(2,n):
                      t=1
                      b=int(i**0.5)
                      for k in range(2,b+1):
                          if i%k==0:
                              t=0
                              break
                      while t==1:
                           x.append(i)
                           break
                  for i in x:
                      i=str(i)
                      y=i[::-1]
                      if i==y and len(i)>=2:
                          print(i)
                  
                  • -1
                    @ 2025-4-15 11:15:01

                    火影手游回调秽土鼬 n=0 b="" c="" m="" x=int(input()) for a in range(10,x+1): for i in range(1,a+1): if a%i0: n=n+1 m=str(a) if n2: for j in range(0,int(len(m)/2)+1): b=m[j]+b c=m[-j-1]+c if b==c: print(a) n=0 b="" c=""

                  • 1

                  信息

                  ID
                  122
                  时间
                  1000ms
                  内存
                  128MiB
                  难度
                  7
                  标签
                  递交数
                  1685
                  已通过
                  439
                  上传者