(1)两数求和
代码语言:javascript复制# (1)两数求和
num1 = 1
num2 = 2
result = num1 num2
print(result)
#3
(2)找100以内的偶数
代码语言:javascript复制#(2)找出 100 以内的偶数
# tip1:
for i in range (0,100):
if i % 2 == 0:
print(i)
偶数数目较多,如果我不想每次判断完,再输出,我们应该如何修改这个代码?
代码语言:javascript复制# tip2:
list = []
for i in range (0,100):
if i % 2 == 0:
list.append(i)
print(list)
#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
(3)找出 100 以内的奇数
代码语言:javascript复制#(2)找出 100 以内的奇数
# tip 1:
list = []
for i in range(0,100):
if i % 2 != 0 :
list.append(i)
print(list)
代码语言:javascript复制#tip 2:
list2 = []
for i in range(1,100,2):
list2.append(i)
print(list2)
(4) 判断素数(质数)
编写程序,判断某一个数是否为素数。所谓素数指的是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。(1不是素数)
代码语言:javascript复制#判断素数
#tip 1:
n = int (input("请输入一个正整数:"))
if n <=1:
flag = True
else:
flag = False
for i in range (2,n):
if n % i == 0 :
flag = True
break
if flag:
print(f"{n}是合数")
else:
print(f"{n}是素数")
代码语言:javascript复制根据上面的代码验证一个数是否为素数,一般做法要把小于他的数全试一遍,比较麻烦。 不过现在只需要试几个素数就可以了。 筛法就是这样的原理 例如:求100内的素数,只需2,3,5,7这几个素数,将他们的倍数一一划入,剩下的就是待求的素数了。 也就是说,一个小于100的数只要不是2357的倍数,就一定是素数。 如果是1000内的素数,就需要划入从2到31的素数的倍数。 考虑这个最大的素数是怎么给出的。 7和11是相邻的素数 7*7=49_11*11=121 100就在他们之间。所以最大的素数就是7。 还可以给出更强的结论,求120内的素数依然可以仅使用2357 1000内的可以同样推得。 按照这样的想法,要判断一个数是否为素数,可以划分根据素数的平方来划定区间边界。 看他落在哪个区间。 2*2=4 3*3=9 5*5=25 7*7=49 11*11=121 ... 尝试一下,比如57--->57**0.5 = 7.54 位于49-121区间,考虑2357 57/2=28...1 57/3=19 57/5=11...2 57/7=8...1 被3整除,故为合数。 试试59--->59**0.5 = 7.68 位于49-121,同样考虑2357 59/2=29...1 59/3=19...2 59/5=11...4 59/7=8...3 不能整除,是素数 同样,很大的数也可以这样算。 因为他是按照素数平方划定边界的,所以可以迅速增长到很大的值。 虽然是很小的技巧,但很大的提高了计算和判断的速度.
#tip 2:
n = int(input("请输入一个正整数:"))
flag = True
if n <= 1:
flag = False
else:
for i in range(2, int(n**0.5) 1):
if n % i == 0:
flag = False
break
if flag:
print(n, "是素数")
else:
print(n, "不是素数")