Fie X un vector de numere naturale distincte, de dimensiune N, X = (x[1], x[2], …, x[N]). Se dă un număr natural Q, apoi Q întrebări de forma: “Câţi divizori ai lui Qi se află în şirul X?”.
Cerința
Răspundeţi la cele Q întrebări.
Date de intrare
Fișierul de intrare divizori1.in conține:
Pe prima linie 2 numere N și Q, reprezentând dimensiunea lui X şi numărul de întrebări;
Pe a doua linie se găsesc N numere separate prin spaţiu, reprezentând elementele vectorului X.
Pe următoarele Q linii se găsesc cele Q întrebări, reprezentate printr-un număr Qi pe fiecare linie.
Date de ieșire
Fișierul de ieșire divizori1.out va conține:
Q linii, fiecare linie i, reprezentând răspunsul pentru Qi.
Răspunsuri la întrebare
Răspuns de
5
#include <cstdio>
using namespace std;
int v[100001], N, X, Q, nr;
int main()
{
freopen("divizori1.in", "r", stdin);
freopen("divizori1.out", "w", stdout);
scanf("%d %d", &N, &Q);
for (int i = 1; i <= N; i++)
{
scanf("%d", &X);
for (int j = X; j <= 100000; j += X)
v[j]++;
}
for (int i = 1; i <= Q; i++)
{
scanf("%d", &X);
printf("%d\n", v[X]);
}
return 0;
}
using namespace std;
int v[100001], N, X, Q, nr;
int main()
{
freopen("divizori1.in", "r", stdin);
freopen("divizori1.out", "w", stdout);
scanf("%d %d", &N, &Q);
for (int i = 1; i <= N; i++)
{
scanf("%d", &X);
for (int j = X; j <= 100000; j += X)
v[j]++;
}
for (int i = 1; i <= Q; i++)
{
scanf("%d", &X);
printf("%d\n", v[X]);
}
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă