質因數分解 和 判斷是否為質數
阿新 • • 發佈:2019-02-15
相關概念和原理
質數:(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;
}