鱼C论坛

 找回密码
 立即注册
查看: 2051|回复: 13

[已解决]Python每日一题(2)

[复制链接]
发表于 2020-3-23 11:22:33 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 wangka 于 2020-3-23 11:24 编辑

今天的题目:
输入一个数后,返回这个数的因数个数
例子:输入2,返回2(2有两个因数)


今天开始第1名+5鱼币,第2和3名+1鱼币
加油!
如果好请订阅淘贴
最佳答案
2020-3-23 11:22:34
本帖最后由 永恒的蓝色梦想 于 2020-3-23 15:43 编辑
  1. from math import sqrt,floor

  2. def func(n):
  3.     end=sqrt(n)

  4.     if not end%1:
  5.         count=1
  6.     else:
  7.         count=0
  8.     end=floor(end)

  9.     for i in range(1,end):
  10.         if not n%i:
  11.             count+=2

  12.     return count
复制代码

评分

参与人数 1荣誉 +5 鱼币 +1 收起 理由
xx020207 + 5 + 1 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 11:22:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 永恒的蓝色梦想 于 2020-3-23 15:43 编辑
  1. from math import sqrt,floor

  2. def func(n):
  3.     end=sqrt(n)

  4.     if not end%1:
  5.         count=1
  6.     else:
  7.         count=0
  8.     end=floor(end)

  9.     for i in range(1,end):
  10.         if not n%i:
  11.             count+=2

  12.     return count
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 11:50:10 | 显示全部楼层
  1. def fun(x):
  2.     count=0
  3.     for i in range(1,x+1):
  4.         if x%i==0:
  5.             count += 1
  6.         else:
  7.             continue
  8.     return count
复制代码

数值太大可能会超时,先这样

评分

参与人数 1鱼币 +1 收起 理由
wangka + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-23 12:09:00 | 显示全部楼层
本帖最后由 wangka 于 2020-3-23 12:11 编辑
天边一抹灬红 发表于 2020-3-23 11:50
数值太大可能会超时,先这样


请确保输入后返回不是内置,尝试使用input ,但是代码可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 12:13:38 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-23 14:46:51 | 显示全部楼层
大家加油啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:12:42 | 显示全部楼层

有个错:
11行,for循环应该以1开始吧
不然会报错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:13:41 | 显示全部楼层
本帖最后由 Hoiste 于 2020-3-23 15:15 编辑
  1. while True:
  2.     num = int(input('请输入任意整数:'))
  3.     count = 2

  4.     if num == 1:
  5.         count = 1
  6.     elif num == 2:
  7.         count = 2
  8.     else:
  9.         for i in range(2, num // 2 + 1):
  10.             if num % i == 0:
  11.                 count += 1
  12.     print(count)
复制代码

因为过了二分之一之后就只有本身是因数了,不过也只是降低了一点运算时间而已。。。搬了一段自己用过的求质数的代码改了下

评分

参与人数 1鱼币 +1 收起 理由
wangka + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:41:36 | 显示全部楼层
#整数的因数
x=eval(input())
a=0
for i in range(1,x+1):
    if x%i==0:
        a+=1
print(a)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:42:22 | 显示全部楼层
wangka 发表于 2020-3-23 12:09
请确保输入后返回不是内置,尝试使用input ,但是代码可以

#整数的因数
x=eval(input())
a=0
for i in range(1,x+1):
    if x%i==0:
        a+=1
print(a)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:43:34 | 显示全部楼层
qiuyouzhi 发表于 2020-3-23 15:12
有个错:
11行,for循环应该以1开始吧
不然会报错


感谢指正
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:51:04 | 显示全部楼层

wangka 发表于 2020-3-23 12:09
请确保输入后返回不是内置,尝试使用input ,但是代码可以

#整数的因数
x=eval(input())
a=0
for i in range(1,x+1):
    if x%i==0:
        a+=1
print(a)

  1. wangka 发表于 2020-3-23 12:09
  2. 请确保输入后返回不是内置,尝试使用input ,但是代码可以

  3. #整数的因数
  4. x=eval(input())
  5. a=0
  6. for i in range(1,x+1):
  7.     if x%i==0:
  8.         a+=1
  9. print(a)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 15:51:39 | 显示全部楼层
  1. input_num = int(input("请输入一个整数:"))
  2. i = 1
  3. count = 0
  4. flag = 0
  5. while (i <= input_num // i):
  6.     if (input_num % i == 0):
  7.         count += 1
  8.     if (i == input_num / i):
  9.         flag = 1
  10.     i += 1

  11. if (flag):
  12.     count = count * 2 - 1
  13. else:
  14.     count *= 2
  15. print("%d有%d个正因数" % (input_num, count))
复制代码


是这样咩......
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 16:57:23 | 显示全部楼层
  1. n = eval(input("请输入一个数,将返回它的因数个数"))
  2. count = 0
  3. for i in range(1, n+1):
  4.     if n % i == 0:
  5.         count += 1
  6. print(count)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 00:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表