首页 > 代码库 > Openjudge 1.13-21:最大质因子序列(每日两水)

Openjudge 1.13-21:最大质因子序列(每日两水)

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

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

输入
一行,包含两个正整数m和n,其间以单个空格间隔。
输出
一行,每个整数的最大质因子,以逗号间隔。
样例输入
5 10
样例输出
5,3,7,2,3,5

 还是水题。。

  • 查看
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>

using namespace std;

int ans[100010];
int m,n,i,j,h;
int pd(int k){
    for(int l=2;l<=sqrt(k);++l)
    if(k%l==0) return 0;
    return 1;
}
int main(){
    bool flag;
    ios::sync_with_stdio(false);
    cin>>m>>n;
    for(i=m;i<=n;++i){
        for(j=i;j>=2;--j){
            if(i%j==0){
                if(pd(j)){
                    ans[h++]=j;
                    break;
                }
            }
        }
    }
    for(i=0;i<h;++i)
    {
        if(i==0) cout<<ans[i];
        else cout<<","<<ans[i];
    }
    return 0;
}

 

Openjudge 1.13-21:最大质因子序列(每日两水)