python - 写一个函数,输入一个正整数n,返回能被17整除的n位正整数的个数

标签 python sage

我正在研究 Sage。编写一个函数,输入一个正整数 n 并返回可被 17 整除的 n 位正整数的个数。一定要考虑 n=1 的情况。使用输入 n=1,2,5 测试您的程序。

我的理解是,比如我输入n=1,表示我需要检查0-9中所有能被17整除的数字。如果我输入n=2,表示我需要检查 0-99 之间的所有数字,包括 17 整除。

我不会想出一个通用公式来计算 n 的长度,然后取能被 17 整除的数字的正确范围。

def positive(n):
for n in range(0, 10**n):
    if (n%17==0):
        print n,

上面的代码对我有用,但它只是打印出可以被 17 整除的数字。我想知道我将如何计算它们,所以我会知道有多少数字可以被 17 整除。

最佳答案

如何使用数论来简化问题,并使用

def positive(n):
    return 10**n // 17 + 1

我相信 Sage 使用插入符号而不是双星号来求幂,所以您可以改用

10^n // 17 + 1

加一包括值 0,当然可以被 17 整除。你可以用更长的版本检查一下,

def positive(n):
    return len([x for x in range(10**n) if x % 17 == 0])

关于python - 写一个函数,输入一个正整数n,返回能被17整除的n位正整数的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39560861/

相关文章:

具有 2 个输入的 python 3 map/lambda 方法

python - 如何在 tf.data.Dataset 中输入不同大小的列表列表

python - 无法将 numpy 数组转换为 SageMath 中的图形

Python。无法从 None 错误中创建 fast_float

python - 如何正确导入鼠尾草?

python - 使用 sage math 在 python 中输入文本

python - socket.sock().bind() 地址已被使用

python - python 中的协同程序提供了什么来改进天真的消费者/生产者设置?

python - Eclipse + PyDev 基于函数调用定义函数

memory-management - 在 Sage 中使用 nauty_geng 时出现内存错误