编程输入一个正整数,输出它所有的约数。
时间: 2023-04-15 16:02:36 浏览: 188
可以使用循环来判断一个数的所有约数,具体步骤如下:
1. 输入一个正整数num;
2. 使用for循环从1到num遍历每个数i;
3. 判断num是否能被i整除,如果可以,则i是num的一个约数,输出i。
代码如下:
```
num = int(input("请输入一个正整数:"))
for i in range(1, num+1):
if num % i == :
print(i)
```
例如,输入10,输出结果为:
```
1
2
5
10
```
相关问题
c语言编程求两个正整数的最大公约数
可以使用欧几里得算法来求两个正整数的最大公约数,即辗转相除法。具体实现如下:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int a, b;
printf("请输入两个正整数:");
scanf("%d %d", &a, &b);
int result = gcd(a, b);
printf("%d和%d的最大公约数为:%d\n", a, b, result);
return 0;
}
```
上述代码中,使用递归的方式实现了求最大公约数的过程。函数`gcd`的参数分别为两个正整数`a`和`b`,返回值为它们的最大公约数。当b等于0时,a就是最大公约数,否则递归调用gcd函数,继续求a%b和b的最大公约数。最后,通过调用gcd函数并输出结果,即可得到两个正整数的最大公约数。
求正整数n的所有约数编程
以下是Python代码实现:
```python
n = int(input("请输入一个正整数:"))
divisors = []
for i in range(1, n+1):
if n % i == 0:
divisors.append(i)
print(n, "的所有约数为:", divisors)
```
运行结果:
```
请输入一个正整数:24
24 的所有约数为: [1, 2, 3, 4, 6, 8, 12, 24]
```
解释:首先通过`input()`函数获取用户输入的正整数n,然后定义一个空列表`divisors`存储n的约数。接着使用`range()`函数生成1到n的整数序列,每个数都与n进行取模运算,如果余数为0,则说明该数是n的约数,将其添加到`divisors`列表中。最后输出n和`divisors`列表。