本文主要是介绍最大质因子序列(信息学奥赛一本通-T1410),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【题目描述】
任意输入两个正整数m,n(1<m<n≤5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。
【输入】
一行,包含两个正整数m和n,其间以单个空格间隔。
【输出】
一行,每个整数的最大质因子,以逗号间隔。
【输入样例】
5 10
【输出样例】
5,3,7,2,3,5
【源程序】
#include<iostream>
#include<cmath>
using namespace std;
bool judge(int x);int main()
{int m,n;int i,j;cin>>m>>n;for(i=m; i<=n; i++) //从m枚举到nfor(j=i; j>=2; j--) //从小到大找每个数的最大质因子if( (i%j==0) && judge(j) )//找到最大质因子{cout<<j;if(i!=n)cout<<",";break;}cout<<endl;return 0;
}bool judge(int x)//判断素数
{int i=2;for(i=2; i<=sqrt(x); i++)if(x%i==0)return false;return true;
}
这篇关于最大质因子序列(信息学奥赛一本通-T1410)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!