primes[0]=primes[1]=False foriinrange(2,int(n**0.5)+1): ifprimes[i]: primes[i*i: n: i]=[False]*len(primes[i*i: n: i]) returnsum(primes) 下面的code是有人针对上面这个code进行改进的code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 classSolution(object): defcountPrimes(sel...
primes = [True] * n primes[0] = primes[1] = False for i in range(2, int(n**0.5)+1): if primes[i]: for j in range(i*i, n, i): primes[j] = False return sum(primes)
classSolution:defcountPrimes(self, n: int) ->int: count,flag= 0,[True]*(n)#1代表质数,0代表非质数foriinrange(2,n):#从2开始遍历,i代表当前第一个数,i代表这个数所在位置ifflag[i]:#如果当前位置判定为True的话count += 1forjinrange(i*i,n,i):#将该质数的所有倍数都设定为False,即非质数f...
Approach #3: Python. class Solution: def countPrimes(self, n): """ :type n: int :rtype: int """ if n < 3: return 0 primes = [True] * n primes[0] = primes[1] = False for i in range(2, int(n**0.5)+1): if primes[i]: primes[i*i : n : i] = [False] * len(...
class Solution(object): def countAndSay(self, n): """ :type n: int :rtype: str """ s = "1" if n == 1: return s for i in range(2,n+1): j = 0 temp = "" curr = "" count = 0 while j<len(s): #print(curr,count) if curr =="": #print(curr) curr=s[j] coun...
【leetcode python】 204. Count Primes #-*- coding: UTF-8 -*- #Hint1: #数字i,i的倍数一定不是质数,因此去掉i的倍数,例如5,5*1,5*2,5*3,5*4,5*5都不是质数,应该去掉 #5*1,5*2,5*3,5*4 在数字1,2,3,4的时候都已经剔除过,因此数字5,应该从5*5开始...
primes = [True] * n primes[0] = primes[1] = False for i in range(2, int(n**0.5)+1): if primes[i]: primes[i*i : n : i] = [False] * len(primes[i*i : n : i]) return sum(primes) Time SubmittedStatusRuntimeLanguage a few seconds ago Accepted 240 ms python3 3 minutes...
is_prime[0], is_prime[1] =False, Falseforxinrange(2, int(n ** 0.5) + 1):ifis_prime[x]: p= x *xwhilep <n: is_prime[p]=False p+=xreturnsum(is_prime) Java解法 publicclassSolution { public int countPrimes(int n) { ...