蓝桥pyhon

蛇形填数
在这里插入图片描述
在这里插入图片描述

i,j,sum = 0,0,0
while True:
    sum+=1
    if i==19 and j==19:
        break
    if (i+j)%2==0:
        i+=1
        if j>0:
            j-=1
    else:
        j+=1
        if i>0:
            i-=1
print(sum)

一、从0开始所以,i,j=19结束
还有注意开头i,j,sum都要对应复制

二、ij坐标相加是奇数,←↓走势,
ij坐标相加是偶数,→↑走势。
关于正约数、质数

质数,也称素数,即只能被1和它本身整除的正整数.如2,3,5,7等,2是唯一的偶数质数.
合数正与之相反,除1和它本身之外,至少还有1个数能够整除它.如4,9,12等.
如果一个数能整除另一个数,则这个数称为另一个数的约数,也可以说是它的因数.

在这里插入图片描述

思路分析:
质数-唯一分解公式:
在这里插入图片描述
质数有2、3、5、7、11、13······
比如18=2* 3 *3(p1=2,a1=1;p2=3,a2=2)
约数个数=(a1+1)(a2+1)=(1+1)(2+1)=6 (分别是:1,2,3,6,9,18)

#1.创建1~100的质数集
def prime(x):
    for i in range(2,int(x**0.5)+1):
        if x%i==0:
            return False
    return True
zhishu=[]
for i in range(2,101):
    if prime(i)==True:
        zhishu.append(i)
#zhishu=[2,3,5,7,11···,97]
        
#2.计算约数个数
p=[0]*101                #创建计数数组
for num in range(1,101): #遍历1~100
    x=num                #当前变量赋值
    for i in zhishu:     #遍历质数数组
        while x%i==0:    #判断约数
            p[i]+=1      #对应计数+1
            x//=i        #循环条件
#p=[0, 0, 97···0,0]
            
#3.遍历结果
ans=1
for i in range(1,101):   #遍历1~100
    if p[i]!=0:          #计数数组不为0
        ans*=(p[i]+1)    #根据公式累乘
print(ans)               #39001250856960000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值