最大质因子序列-函数
题目描述
任意输入两个正整数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 isPrime(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++){ if(isPrime(i)) cout<<i; else{ int maxnum=2; for(int j=2; j<=i/2; j++){ if(i%j==0 && isPrime(j)){ maxnum=max(maxnum,j); } } cout<<maxnum; } if(i<n) cout<<","; } return 0; }