Cod sursa(job #3319592)
| Utilizator | Data | 1 noiembrie 2025 23:06:32 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
int t, n, k, cr[1000005], sol[1000000][10];
void precalc() {
for(int i=2; i<=1000000; i++) {
if(cr[i]==0) {
for(int j=1; i*j<=1000000; j++) {
cr[i*j]++;
}
}
}
for(int i=1; i<=1000000; i++) {
for(int j=1; j<=7; j++) {
sol[i][j]=sol[i-1][j];
}
if(cr[i]<8) {
sol[i][cr[i]]=i;
}
}
}
int main()
{
precalc();
fin >> t;
while(t--) {
fin >> n >> k;
fout << sol[n][k] << "\n";
}
return 0;
}
