2024-05-29 00:03:13 发布
网友
程序接受两个整数(N,X)并打印X从1到N的所有倍数
我的代码:
N, X = [int(val) for val in input().split()] for ctr in range(X,N+1): print(ctr, end=" ")
预期产出:
20 2 2 4 6 8 10 12 14 16 18 20
实际产量:
20 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
N, X = [int(val) for val in input().split()] for ctr in range(X,N+1): if ctr % X == 0: print(ctr, end=" ")
您可以使用%(模)运算符
基本上,当你有X的倍数时,ctr除以X的剩余部分等于0
这就是%检查的内容
因为range(X,N+1)给出了从X开始到N的所有数字,所以永远不会筛选出可被x整除的数字
range(X,N+1)
N
x
这是一种通过求N/x的商来生成所有倍数的方法:
>>> def foo(n, x): ... quotient = n // x ... return [i*x for i in range(1, quotient + 1)] ... >>> foo(20, 2) [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] >>> foo(13, 3) [3, 6, 9, 12]
请注意,Python的range允许您使用一个step参数来完成这项工作,这几乎很简单:
range
step
>>> n,x = 20, 2 >>> list(range(x, n+ 1, x)) [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] >>> n,x = 13, 3 >>> list(range(x, n+ 1, x)) [3, 6, 9, 12]
N, X = [int(val) for val in input().split()] for ctr in range(X, N+1, X): print(ctr, end=" ")
将step参数添加到range函数中
您可以使用%(模)运算符
基本上,当你有X的倍数时,ctr除以X的剩余部分等于0
这就是%检查的内容
因为
range(X,N+1)
给出了从X开始到N
的所有数字,所以永远不会筛选出可被x
整除的数字这是一种通过求N/x的商来生成所有倍数的方法:
请注意,Python的
range
允许您使用一个step
参数来完成这项工作,这几乎很简单:将step参数添加到
range
函数中相关问题 更多 >
编程相关推荐