Online Compiler C

#include <stdio.h> void print_simple(int n){ while(n%2==0){ printf("%d",2); n=n/2; } for(int i=3;i*i<=n;i+=2){ while(n%i==0){ printf("%d",i); n=n/i; } } if(n>2){ printf("%d",n);} }
这段代码实现了一个函数 `print_simple`,用于打印整数 `n` 的质因数分解。它先处理所有因子2,然后检查奇数因子,最后如果剩余部分大于2则打印它。但输出时所有因子会连在一起,没有分隔符。

- 你的代码在打印因子时没有添加空格或其他分隔符,比如输入12会输出“223”,而不是“2 2 3”。考虑在每次打印后添加一个空格或乘号。
- 函数没有处理输入为1的情况。当n等于1时,循环和条件都不会执行,函数不输出任何内容。可以思考是否需要处理这种情况。