对于给定的正整数n,输出n的素因数的乘式。 输入格式: 输入一个正整数n,要求1<n≤2 16 −1。 输出格式: 输出n的素因数的乘式,要求这些素因数呈非递减排列。c语言代码
时间: 2023-09-21 19:10:34 浏览: 250
c代码-13.计算并输出给定整数 n 的所有因子(不包括 1 与自身)之和。规定 n 的值不大于 1000。例如,从键盘给 n 输入的值为 856,则输出为sum=763。
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int i;
for (i = 2; i <= n; i++) {
while (n % i == 0) {
printf("%d", i);
n /= i;
if (n != 1) {
printf("*");
}
}
}
return 0;
}
```
代码思路:
首先输入一个正整数n,然后从2到n遍历每个数,如果n能被i整除,则说明i是n的一个素因数,输出i并将n除以i。由于可能存在重复的素因数,所以需要用while循环不断除以i直到无法整除为止。当n等于1时,表示n已经分解完毕,退出循环即可。同时,为了保证素因数按非递减排列,每输出一个素因数之后,如果n不等于1,则输出一个乘号“*”。
阅读全文