最大质因子序列
作者:互联网
【问题描述】
任意输入两个正整数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