Câu 04: Số có nhiều ước nguyên tố nhất
Cho trước hai số nguyên dương , . Trong các số nguyên dương mà , tìm
số có nhiều ước nguyên tố nhất. Nếu có nhiều số có cùng số lượng ước nguyên
tố, in ra số lớn nhất.
Dữ liệu vào:
– Gồm duy nhất 1 dòng là 2 số nguyên dương .
Kết quả:
– Gồm duy nhất 1 dòng là 2 số nguyên lần lượt là số tìm được và số lượng
ước nguyên tố của nó.
VD: inp out
2 13 12 2
`Code` `C`++:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll prime(ll k){
if (k<2) return 0;
for (ll i=2; i<=sqrt(k); i++)
if (k%i==0)
return 0;
return 1;
}
ll divprime (ll k){
ll dem=0,i;
for (i=1; i<=sqrt(k); i++)
if (k%i==0 && prime(i)==1)
dem++;
return dem;
}
int main(){
ll a,b,n,i,x,d=-1,res;
cin>>a>>b;
for (i=a; i<=b; i++)
if (d<divprime(i)){
d=divprime(i);
res=i;
}
cout<<res<<” “<<d;
}