1. 程式人生 > >質因數分解 和 判斷是否為質數

質因數分解 和 判斷是否為質數

相關概念和原理

質數:(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; }