1013 数素数

def zhishu(num):
    global Num
    if num >3 and num%2!=0:
      for p in range(2,int(math.sqrt(num)+1,2):
        if num%p==0:
            break
      else:
        text.append(str(num))
        return num
text=[2,3]
text0=input().split()
text1=''
a=0
min,max=int(text0[0]),int(text0	[1])
for p in range(0,1000):
  zhishu(p)
text=text[min-1:max]
‘’’
for p in text:
  text1+= p+' '
  a+=1
  if a%10==0:
    text1=text1.rstrip(' ')
    text1=text1+'\n'
if a%10==0:
    text1=text1.rstrip('\n')
else:
    text1=text1.rstrip(' ')
print(text1)
’’’
for p in range(len(text)):
    If len(text[:p+1]%10==0:
       text[:p+1]=‘ ’.join(text[:p+1])
       text1+=text[:p+1]+’\n’
       num=p
    Elif len(text)<10 :
       text1=‘ ‘.join[text]+’\n’
    Elif num!= None and len(text)-len(text[:num+1])<10:
       text1+=‘ ’.join(text[num+1:]
print(text1)
       
       

本题相对简单,只是一开始题目看错了导致代码部分重写了一遍,又在吃东西导致思路被打断,断断续续写了好久。debug的时候输出数据一直有问题,后来才发现少写了一段代码。代码有一个很小的测试点出了问题,是由于运行超时,将素数结构优化,先排除偶数,且range(2,int(math.sqrt(num))+1,2)即可。代码思路是,写出素数表,根据输入数据作为索引提取。输出数据有一个难点是换行,用‘\n’即可,记得考虑最后一行与只有一行满不满行的问题,其他就没了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值