#include <stdio.h>int main()
{long long x;while (scanf("%lld", &x) != EOF) { // 读取输入直到文件结束if (x == 0) break; // 如果输入为0则退出循环for (long long i = 2; i * i <= x; ++i) {while (x % i == 0) { // 当x能被i整除时printf("%lld ", i); // 输出质因数ix /= i; // 将x除以i}}if (x > 1) { // 如果x大于1,那么它本身就是一个质数printf("%lld ", x);}printf("\n"); // 每组输出一行}return 0;
}
1.把握好数学上质数的性质
2.能用for循环解决的问题尽量避免数组,现阶段使用数组会使问题复杂化