调试过了,第一题可以全ac吧,第二题没写特例 #第一题 n=int(input()) a1=list(input().split()) a2=list(input().split()) dp=[[0]*(n+1) for i in range(n+1)] for i in range(1,n+1): for j in range(1,n+1): if a1[i-1]==a2[j-1]: dp[i][j]=dp[i-1][j-1]+1 else: dp[i][j]=max(dp[i][j-1],dp[i-1][j]) res=round((dp[-1][-1]/n)*100)/100 if res<=0.5: print('%.2f'%res,'Yes') else: print('%.2f'%res,'No')
#第二题
import math def issu(s): if s<2: return False for i in range(2,int(math.sqrt(s)+1)): if s % i ==0: return False return True def ishw(s): s=str(s) i,j=0,len(s)-1 while i<j: if s[i]!=s[j]: return False i+=1 j-=1 return True res=0 nm=list(map(eval,input().split())) n,m=nm[0],nm[1] for s in range(n,m+1): s1=str(s) #print(s,s1) for i in range(len(s1)): s1=str(s) s1=s1.replace(s1[i],'',1) #如过不写1,就会替换全部的相等的值 if issu(int(s1)) and ishw(int(s1)): res+=1 #print(i,s1,res) break print(res)
全部评论
(1) 回帖