相关概念和原理
质数:(prime number)除了1和本身之外不再有其他因数的大于1的自然数。质数又叫素数。
合数:(composite number)除了1和本身之外再有其他因数的大于1的自然数。
1既不是质数,也不是合数。
每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积,即可以将一个数写成质因子相乘的形式。
任何正整数都有独一无二的质因子分解式。
判断是否为质数 代码编写
#include <iostream>
using namespace std;
bool f(int m){
for(int i = 2; i < m; i++){
if(m % i == 0){
return false;
}
}
return true;
}
int main(){
int m;
cout<<"请输入一个大于1的整数"<<endl;
cin>>m;
if(f(m)){
cout<<"该整数为质数"<<endl;
}else{
cout<<"该整数为合数"<<endl;
}
return 0;
}
质因子分解 代码编写
#include <iostream>
using namespace std;
int main(){
int m;
cout<<"请输入一个大于1的整数"<<endl;
while(cin>>m){
cout<<"质因子分解为:"<<m<<"=1";
while(m != 1){
for(int i = 2; i <= m; i++){
if(m % i == 0){
m /= i;
cout<<"*"<<i;
break;
}
}
}
cout<<endl;
cout<<"请继续输入一个大于1的整数"<<endl;
}
return 0;
}