解题思路: 1不是质数,排除。n本身是自己的因数,排除。这样就可以确定遍历范围,遍历2到n-1,如果这个数是质数并且可以整除n,输出!
注意事项: n的质因数:既是质数也是n的因数的数。
参考代码:
#include<bits/stdc++.h> using namespace std; bool isprime(int x) { //判断质数 for(int i = 2; i * i <= x; i ++) { if(x % i == 0) return 0; } return 1; } int main() { int n; cin >> n; bool b = 0; for(int i = 2; i < n; i ++) { if(isprime(i) && n % i == 0) { if(b) cout << " "; //如果前面输出过数字了,之后的每一个数字前加一个空格! cout << i; b = 1; } } return 0; }
0.0分
2 人评分