时间限制: 1000 ms 内存限制: 65536 KB
提交数: 12144 通过数: 8108
任意输入两个正整数m,n(1<m<n≤5000)m,n(1<m<n≤5000),依次输出mm到nn之间每个数的最大质因子(包括mm和nn;如果某个数本身是质数,则输出这个数自身)。
【输入】一行,包含两个正整数mm和nn,其间以单个空格间隔。
【输出】一行,每个整数的最大质因子,以逗号间隔。
【输入样例】 5 10 【输出样例】 5,3,7,2,3,5 【AC代码】 #include<bits/stdc++.h>using namespace std;int m,n;bool check(int n)//判断素数{if(n<2)return false;for(int i=2;i<=floor(sqrt(n));i++){if(n%i==0)return false;}return true;}int main(){cin>>m>>n;for(int i=m;i<=n;i++)//从m到n枚举{for(int j=i;j>=2;j--)//从大到小找质因数{if(i%j==0&&check(j))//j既是i的因数又是质数{cout<<j;if(i<n)cout<<",";//是否输出逗号的判断break;//退出里层循环m才会增加正常进行下一次循环}}}return 0;}