最大质因子序列

【问题描述】

  任意输入两个正整数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;
}
复制代码

 

 
posted @   Hi,小董先生  阅读(568)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示