求a-b之间的正整数分解质因数的c语言代码
时间: 2024-11-15 19:21:40 浏览: 4
在C语言中,你可以编写一个函数来分解给定范围内的正整数并打印它们的质因数。以下是一个简单的示例,它首先会检查每个数字是否是质数,然后将它们分解成质因数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
void prime_factors(int a, int b) {
for (int i = a; i <= b; i++) {
if (is_prime(i)) {
printf("%d 的质因数分解是:1\n", i);
} else {
int factor = 2;
while (i > 1) {
if (i % factor == 0) {
printf("%d ", factor);
i /= factor;
} else {
factor++;
}
}
printf("\n");
}
}
}
int main() {
int start = 50; // 替换为你要计算的范围起点
int end = 70; // 替换为你要计算的范围终点
prime_factors(start, end);
return 0;
}
```
在这个代码里,`prime_factors`函数从指定的范围内遍历,如果找到的是质数,则只打印1;如果不是质数,则将其分解为质因数。
阅读全文