解题思路:质因数要求既是质数又是因数。质数: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语言训练-排序问题<1> (C++代码)浏览:589 |
C语言训练-自由落体问题 (C语言代码)浏览:1731 |
分糖果 (C++代码)浏览:1437 |
【绝对值排序】 (C++代码)浏览:670 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:896 |
用筛法求之N内的素数。 (C语言代码)浏览:1227 |
WU-输入输出格式练习 (C++代码)浏览:1076 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:695 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:853 |
【矩阵】 (C++代码)浏览:936 |