其他分享
首页 > 其他分享> > 最大质因子序列

最大质因子序列

作者:互联网

【问题描述】

  任意输入两个正整数m,n(1<m<n≤5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。

【输入格式】

一行,包含两个正整数 m 和  n ,其间以单个空格间隔。

【输出格式】

一行,每个整数的最大质因子,以逗号间隔。

【输入样例】

5 10

【输出样例】

5,3,7,2,3,5

#include<iostream>
using namespace std;

bool prime(int x){
    for(int i=2; i*i<=x; i++){
        if(x%i==0) return 0;
    }
    return 1;
}

int main(){
    int m,n;
    cin>>m>>n;
    for(int i=m; i<=n; i++){
        // 寻找i的质因子(质数、因子)
        for(int j=i; j>=2; j--){
            // 判断质数?
            if(i%j==0&&prime(j)){
                cout<<j;
                if(i<n){
                    cout<<",";
                }
                break;
            }
        } 
    }
    return 0;
}

 

 

标签:prime,正整数,最大,int,样例,因子,序列,格式,输入
来源: https://www.cnblogs.com/dks0313/p/16490088.html