何梦吉他


私信TA

用户名:hemengjita

访问量:400

签 名:

等  级
排  名 38568
经  验 395
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 南京信息工程大学
专  业

  自我简介:

TA的其他文章

解题思路:

因为是分解质因数,先把小于等于b的所有质数找出来存到nums中用来备用,这样直接查表就可以了;观察结果,如果a -b中的数i本身就是质数不用分解直接3=3这种的(i在nums中 因为质数的定义是只能分解为1和其本身两个因数),如果不在就是非质数,循环判断,从nums第一个2开始整除看看,除得了就记录下来,直到i为1,答案每次存放在ans里;最后就是一个输出格式需要注意

注意事项:
   1 是循环判断i%x ,比如4=2*2 不是if

    2 输出格式可以用join 用*把分解的因数拼接起来,这也是以后做题的一个注意点,有写输出完全是有规律的,不需要先考虑,最后拼接就好

    3 join函数里面可以用列表表达式,这个方法要学习一下]

参考代码:

a,b=map(int,input().split())

nums=[2]

for i in range(3,b+1):

    flag=True

    for j in range(2,int(i**0.5)+1):

        if i%j==0:

            flag=False

            break;

    if flag==True:

        nums.append(i)


for i in range(a,b+1):

    if i in nums:

        print(str(i)+"="+str(i))

    else:

        temp=i

        ans=[]

        for x in nums:

            while i % x==0  and i!=1:

                ans.append(x)

                i = i//x

        print(str(temp)+"=",end='')

        print("*".join([str(x) for x in ans]))


 

0.0分

1 人评分

  评论区

  • «
  • »