任务描述 一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如128是一个自除数,因为128能被1、2、8整除。编写函数selfDivisor(num)判断num是否为自除数,使用该函数输出不大于N的所有自除数。 (注意,含有数字0的数不是自除数) 输入格式 输入为一行,一个正整数N(N>=1)。 输出格式 输出为一行,是不大于N的所有自除数,每个数后面有一个空格。
时间: 2024-03-17 18:43:46 浏览: 290
除数是两位数的除法计算题(供参考).pdf
好的,这是一个简单的编程问题。以下是Python的代码实现:
```python
def selfDivisor(num):
for ch in str(num):
if ch == '0' or num % int(ch) != 0:
return False
return True
n = int(input())
res = []
for i in range(1, n+1):
if selfDivisor(i):
res.append(str(i))
print(' '.join(res))
```
我们首先定义了一个名为selfDivisor的函数,用于判断一个数字是否为自除数。这个函数接受一个数字作为参数,然后将该数字转换成字符串并遍历其中的每个字符。如果数字中包含0或者该数字不能被其中的任何一位整除,则该数字不是自除数,返回False;否则返回True。
接下来,我们读入一个正整数n,然后遍历1到n的所有数字。如果该数字是自除数,则将其加入到一个列表中。最后,我们将这个列表中的所有数字使用空格连接起来打印出来。
以上就是该问题的Python解法。
阅读全文