用c++写一个求因数的代码
时间: 2023-05-27 12:07:18 浏览: 80
以下是一个用 C 语言编写的求因数的代码:
```
#include <stdio.h>
int main() {
int n, i;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d的因数有:", n);
for (i = 1; i <= n; i++) {
if (n % i == 0) {
printf("%d ", i);
}
}
return 0;
}
```
解释:
1. `n` 为输入的正整数;
2. `i` 为控制循环的计数器;
3. `scanf("%d", &n)` 用于从标准输入中读取一个整数,存储到变量 `n` 中;
4. `for (i = 1; i <= n; i++)` 表示从 1 开始,依次循环到 `n`,每次循环 `i` 的值加 1;
5. `if (n % i == 0)` 表示如果 `n` 能够被 `i` 整除,即 `i` 是 `n` 的因数,就输出 `i`。
例如,当输入 12 时,输出为:
```
请输入一个正整数:12
12的因数有:1 2 3 4 6 12
```
相关问题
用C++写求因数个数的代码
以下是用C语言编写的求因数个数的代码:
```c
#include <stdio.h>
int main() {
int n, i, count = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
}
}
printf("%d的因数个数为:%d\n", n, count);
return 0;
}
```
解释:
首先通过 `scanf` 函数获取用户输入的正整数 `n`。
然后通过 `for` 循环遍历从 1 到 `n` 的所有整数,如果 `n` 能被当前整数整除,就将计数器 `count` 的值加 1。
最后输出结果,即 `n` 的因数个数。
注意:这里只考虑了正整数的情况,如果需要考虑负整数和 0 的情况,需要对代码进行相应的修改。
用C++写求因数之和的代码
以下是用 C 语言编写的求因数之和的代码:
```c
#include <stdio.h>
int main() {
int n, i, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n / 2; i++) {
if (n % i == 0) {
sum += i;
}
}
printf("%d的因数之和为:%d\n", n, sum + n);
return 0;
}
```
代码说明:
1. 首先,我们需要输入一个正整数 `n`。
2. 然后,使用 `for` 循环遍历 `1` 到 `n/2` 的所有正整数,判断它们是否是 `n` 的因数。如果是,就把它们加起来。
3. 最后,输出求和结果。
需要注意的是,我们还需要把 `n` 本身加入到结果中,因为 `n` 也是它自己的因数之一。