Pyhon-每日一练(1)

🌈write in front🌈

🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.

🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️

📝个人主页:Aileen_0v0🧸---CSDN博客

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

📣系列专栏:Aileen_0v0🧸的PYTHON学习系列专栏------CSDN博客

🗼我的格言:"没有罗马,那就自己创造罗马~"

目录

(1)两数求和

(2)找100以内的偶数

[(3)找出 100 以内的奇数](#(3)找出 100 以内的奇数)

[(4) 判断素数(质数)](#(4) 判断素数(质数))


(1)两数求和

python 复制代码
# (1)两数求和
num1 = 1
num2 = 2
result = num1 + num2
print(result) 
#3

(2)找100以内的偶数

python 复制代码
#(2)找出 100 以内的偶数
# tip1:
for i in range (0,100):
    if i % 2 == 0:
        print(i)

偶数数目较多,如果我不想每次判断完,再输出,我们应该如何修改这个代码?

python 复制代码
# 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 以内的奇数

python 复制代码
#(2)找出 100 以内的奇数
# tip 1:
list = []
for i in range(0,100):
    if i % 2 != 0 :
        list.append(i)
print(list)
python 复制代码
#tip 2:
list2 = []
for i in range(1,100,2):
    list2.append(i)
print(list2)

(4) 判断素数(质数)

编写程序,判断某一个数是否为素数。所谓素数指的是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。(1不是素数)

python 复制代码
#判断素数
#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}是素数")

根据上面的代码验证一个数是否为素数,一般做法要把小于他的数全试一遍,比较麻烦。

不过现在只需要试几个素数就可以了。

筛法就是这样的原理

例如:求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

不能整除,是素数

同样,很大的数也可以这样算。

因为他是按照素数平方划定边界的,所以可以迅速增长到很大的值。

虽然是很小的技巧,但很大的提高了计算和判断的速度.

python 复制代码
#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, "不是素数")
 
相关推荐
xb11324 分钟前
C#多线程编程入门概念
开发语言
froginwe117 分钟前
PostgreSQL HAVING 子句详解
开发语言
yugi98783815 分钟前
基于MATLAB的延迟求和(DAS)波束形成算法实现
开发语言·算法·matlab
冷雨夜中漫步18 分钟前
Python入门——字符串
开发语言·python
Yvonne爱编码18 分钟前
Java 接口学习核心难点深度解析
java·开发语言·python
漫随流水22 分钟前
leetcode回溯算法(90.子集Ⅱ)
数据结构·算法·leetcode·回溯算法
JeffDingAI23 分钟前
【Datawhale学习笔记】RLHF微调技术及实践
人工智能·笔记·学习
Yupureki28 分钟前
《算法竞赛从入门到国奖》算法基础:搜索-记忆化搜索
c语言·c++·学习·算法·深度优先
June bug31 分钟前
(#数组/链表操作)合并两个有重复元素的无序数组,返回无重复的有序结果
数据结构·python·算法·leetcode·面试·跳槽
普贤莲花35 分钟前
取舍~2026年第4周小结---写于20260125
程序人生·算法·leetcode