解题思路:质因数要求既是质数又是因数。质数:i为除了1和本身不能整除的数。因数:n除以i没有余数,i就是n的余数。
先写一个求质数的代码。如果n%i==0,i就不为质数,当i等于n时,进不去循环,也代表了i就是质数,返回1.
注意事项:
参考代码:
#include<iostream>
#include <math.h>
using namespace std;
int zhishu(int n){
int i;
for(i=2;i<n;i++){
if(n%i==0){//找到除1和本身外的因数时,则该数不为质数,返回0
return 0;
}
}return 1;//所有可能的数都不能整除n时,则该数为质数,返回1
}
int main(){
int n,i;
cin>>n;
for(i=2;i<n;i++){
if(n%i==0){// //判断i是否为n的因数
if(zhishu(i)){//在是因数的基础上,判断是否是质数
cout<<i<<" ";
}
}
}
return 0;
}
0.0分
1 人评分
破解简单密码 (C语言代码)浏览:1768 |
九宫重排 (C++代码)浏览:2160 |
买不到的数目 (C++代码)浏览:868 |
不会做的浏览:877 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:575 |
printf基础练习2 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:902 |
1024题解浏览:811 |
局部变量作函数返回值的问题浏览:981 |
printf基础练习 (C语言代码)浏览:1809 |